go语言实现拷贝文件

package main

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

func main(){
	list := os.Args //获取命令行参数
	if len(list)!=3{
		fmt.Println("参数必须是:xxx.exe 源文件 目的文件")
		return
	}

	//打开源文件
	srcFilename := list[1]
	srcFile,_ := os.Open(srcFilename)

	//新建目的文件
	dstFilename := list[2]
	dstFile,_ := os.Create(dstFilename)

	//操作完毕,关闭文件
	defer srcFile.Close()
	defer dstFile.Close()

	//从源文件读取内容,往目的文件写入,读多少写多少
	buf := make([]byte, 4*1024)
	for {
		n,err:=srcFile.Read(buf)
		if err!=nil{
			if err==io.EOF{
				return
			}
			fmt.Println("err=",err)
			return
		}
		dstFile.Write(buf[:n])
		if err == io.EOF{
			break
		}
	}

}

 

 

猜你喜欢

转载自www.cnblogs.com/traditional/p/9623393.html