[GO]二进制文件的拷贝
2024-08-29 10:01:54
writestring的方式只适用于字符串的写入,对于十进制文件的写入只要使用write就可以了
package main import (
"os"
"fmt"
"io"
) func main() {
list := os.Args
if len(list) != {
fmt.Println(" usage: xxx srcFile dstFile")
return
}
srcFileName := list[]
dstFileName := list[] if srcFileName == dstFileName{
fmt.Println("源文件和目的文件不能相同")
return
}
//只读方式打开源文件
sF, serr := os.Open(srcFileName)
if serr != nil{
fmt.Println(" serr = ", serr)
return
}
//新建目标文件
dF, derr := os.Create(dstFileName)
if serr != nil{
fmt.Println(" derr = ", derr)
return
}
//操作完成,关闭文件
defer dF.Close()
defer sF.Close() //核心处理,从源文件获取内容,往目的文件写,读多少写多少
buf := make([]byte, *)//4k大小缓冲区
for true {
n, err := sF.Read(buf)
if err != nil {
if err == io.EOF{ //代表文件读取完成
break
}
fmt.Println("err = ", err)
}
//往目的文件写,读多少写多少
dF.Write(buf[:n])
}
}
然后使用命令进行exe文件的创建
E:\awesomeProject>go build 文件拷贝.go
然后直接运行程序就可以了
E:\awesomeProject>文件拷贝.exe errors接口的使用.go errors接口的使用copy.go
最新文章
- C#扩展方法知多少
- SqlServer数据库空间使用情况常用命令
- Seafile内部云盘
- centos下安装nginx
- shell复习---文件解压命令
- C# is 强制转换
- Android SurfaceView使用
- 续上文----线性表之单链表(C实现)
- Android中EditText,Button等控件的设置
- android在Canvas使用drawBitmap画一幅画
- System.Text.RegularExpressions.Regex
- 张高兴的 Windows 10 IoT 开发笔记:使用 ULN2003A 控制步进电机
- 【Codeforces Round #431 (Div. 1) D.Shake It!】
- Day11 Python基础之装饰器(高级函数)(九)
- Forth 采用CODE定义新词
- 从统计局采集最新的省市区县数据,纯js
- virtualbox 最小化安装centos7 配置双网卡(nat和桥接)记录----已经过期
- 设置 UILabel 和 UITextField 的 Padding 或 Insets (理解UIEdgeInsets)
- 关于15桥梁课程1&;2的笔记以及待做事项的梳理
- MVC 实现表格数据导出Excel(NPOI方式)