Go 文件拷贝

demo.go(文件拷贝):

package main

import (
	"fmt"
	"io"
	"os"
)

func main() {
	// 打开文件
	fp1, err1 := os.OpenFile("./demo.txt", os.O_RDONLY, 6)
	fp2, err2 := os.Create("./demo2.txt")
	if err1 != nil || err2 != nil {
		fmt.Println("操作文件失败")
		return
	}
	// 关闭文件
	defer fp1.Close()
	defer fp2.Close()

	// 拷贝文件
	buf := make([]byte, 1024*1024*8)  // 8MB
	for {
		n, err := fp1.Read(buf)
		if err == io.EOF {
			break
		}
		fp2.Write(buf[:n])
	}
}

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/88763101