66_文件的复制
Posted zhaopp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了66_文件的复制相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
"io"
"os"
)
func main()
list := os.Args //获取命令行参数
if len(list) != 3
fmt.Println("usage:xxx srcFile dstFile")
return
srcFileName := list[1] //元文件名字(文件应该在本文件夹下面)
dstFileName := list[2] //目的文件名字
if srcFileName == dstFileName
fmt.Println("源文件和目的文件名字不能相同")
return
//只读方式打开源文件
sF, err1 := os.Open(srcFileName)
if err1 != nil
fmt.Println("err1=", err1)
return
//新建目的文件
dF, err2 := os.Create(dstFileName)
if err2 != nil
fmt.Println("err2=", err2)
return
//关闭文件
defer dF.Close()
defer sF.Close()
//核心:从源文件读多少,往目的文件写多少
buf := make([]byte, 4*1024) //4k大小缓冲区
for
n, err := sF.Read(buf)
if err != nil
if err == io.EOF
break
fmt.Println("err=", err)
return
//往目的文件写,读多少,写多少
dF.Write(buf[:n]) //全部写进去
以上是关于66_文件的复制的主要内容,如果未能解决你的问题,请参考以下文章
安装allure时遇到的坑:JAVA_HOME is set to an invalid directory: D:Javajdk1.8.0_66 Please set the JAVA_HOM(代
安装allure时遇到的坑:JAVA_HOME is set to an invalid directory: D:Javajdk1.8.0_66 Please set the JAVA_HOM(代