Go语言编程—Go语言实现文件拷贝
文件操作API介绍
新建文件
func Create(name string) (file *File, err Error)
根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返回的文件对象是可读写的。
func NewFile(fd uintptr, name string) *File
根据文件描述符创建相应的文件,返回一个文件对象
打开文件
func Open(name string) (file *File, err Error)
该方法打开一个名称为name的文件,但是是只读方式,内部实现其实调用了OpenFile。
func OpenFile(name string, flag int, perm uint32) (file *File, err Error)
打开名称为name的文件,flag是打开的方式,只读、读写等,perm是权限
写文件
func (file *File) Write(b []byte) (n int, err Error)
写入byte类型的信息到文件
func (file *File) WriteAt(b []byte, off int64) (n int, err Error)
在指定位置开始写入byte类型的信息
func (file *File) WriteString(s string) (ret int, err Error)
写入string信息到文件
读文件
func (file *File) Read(b []byte) (n int, err Error)
读取数据到b中
func (file *File) ReadAt(b []byte, off int64) (n int, err Error)
从off开始读取数据到b中
删除文件
func Remove(name string) Error
调用该函数就可以删除文件名为name的文件
代码实现
package mainimport ("fmt""io""os"
)func main() {list := os.Argsif len(list) != 3 {fmt.Println("error:缺少参数")return}srcName := list[1]dstName := list[2]srcFile, err1 := os.Open(srcName)dstFile, err2 := os.Create(dstName)if err1 != nil || err2 != nil {fmt.Println("err")return}defer srcFile.Close()defer dstFile.Close()buf := make([]byte, 4*1024) //4k缓存区//核心处理for {n, err := srcFile.Read(buf)if err != nil {if err == io.EOF { //文件读取完毕break}fmt.Println("err:", err)}dstFile.Write(buf[:n]) //读多少写多少}
}
运行检测
Go语言编程—Go语言实现文件拷贝相关推荐
- C 语言编程 — 输入/输出与文件操作
目录 文章目录 目录 前文列表 输入/输出 scanf() 和 printf() getchar() 和 putchar() 文件操作 打开文件 关闭文件 写入文件 读取文件 二进制 I/O 函数 前 ...
- 11 12 13c语言编程,C语言编程
C语言编程 1.sscanf() sscanf()与scanf()类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 头文件:#include 格式:int ssc ...
- 在电脑测试c语言编程,C语言电脑编程兴趣班测试题目
<C语言电脑编程兴趣班测试题目>由会员分享,可在线阅读,更多相关<C语言电脑编程兴趣班测试题目(3页珍藏版)>请在人人文库网上搜索. 1.少年宫电脑编程兴趣班测试题目竞赛时间: ...
- [Lua语言编程]Lua语言基础知识
文章目录 `Lua` `Lua`语言的起源 `Lua` 特性 `Lua下载` Linux 系统上安装 Mac OS X 系统上安装 Window 系统上安装 `Lua` `Lua`语言语法 `Lua` ...
- 在线模拟c语言编程,c语言模拟编程学习软件v2019
C/C ++程序设计学习与实验系统是一款可用于设计教学演示.学习与实验的C/C ++语言编程学习软件,是由从事教学的老师根据C/C ++的初学者及C程序多媒体演示研发.对于想要学习C语言的朋友是一个不 ...
- 0.618法C语言编程,c语言编程题--0.618法求最小值
c语言编程题--0.618法求最小值0 题目: 1.函数f(x)=x+10/x,初始量a=2,b=10,c=0.3 2.步骤:(1)取a1=a+0.382*(b-a),b1=b+0.618*(b-a) ...
- 100以内加减法C语言编程,C语言编程100题(其三)来啦!
原标题:C语言编程100题(其三)来啦! 无论是风里,还是在雨里,我都在这里守候着你- 大家好啊,我是小C,咱们又见面咯,前面的题目做的怎么样呢,今天又给大家送上新的题目了,快来学习吧! 计算200到 ...
- 单片机c语言怎样添加自定义头文件,单片机C语言编程与或|头文件常见问题
一.常见问题 1.头文件reg51.h和reg52.h其实是一样的,大家两个都可以用. 2.main()前面的void可加可不加,反正都是无返回值函数. 3.不是每一个程序都要用到死循环while(1 ...
- C语言编程中关于头文件使用问题
目录 1 头文件引用方式 2 头文件书写格式 2.1 条件编译 2.1.1 #ifdef... #else... #endif命令 2.1.2 #if defined... #else... #end ...
最新文章
- DotNet 开发团队图
- RHEL4- WEB服务(十二)用户访问apache服务器认证
- Misunderstood-Missing-逆向DP
- 从零点五开始用Unity做半个2D战棋小游戏(十)
- 【Linux网络编程】原始套接字实例:MAC 地址扫描器
- GitHub上13个学习资源项目,值得收藏!
- Appium移动自动化测试-----(一)Appium介绍
- 【R可视化】你家乡的肯德基都在哪儿?
- promise的理解和使用-尚硅谷教程笔记
- 使用exceljs导出excel表格
- 中国移动MM7 API用户手册(一)
- 学习笔记(14):C++编程FFMpeg(QT5+OpenCV)实战--实时美颜直播推流-打开rtmp推流输出并从文件读取音视频帧...
- shell 脚本程序中空格 $符号的使用
- greenplum 添加mirror
- 提示程序需要Windows 7 Service Pack 1或更高版本问题如何解决?
- windows下同一台电脑安装两个mysql数据库
- 蓝桥杯国赛五一训练赛(1)
- 【无标题】ES2022 个人笔记
- 百度webgis-api-加载卫星影像图
- iOS开发 - 清除缓存
热门文章
- python mro文件_Python MRO
- 1.7 编程基础之字符串 34 回文子串 python
- 第21课 田忌赛马 《小学生C++趣味编程》
- 【chorme插件开发】第四节:html+js实现的功能插件开发实例
- python最优分箱计算iv值_GitHub - zhaoxingfeng/WOE: Weight of Evidence,基于iv值最大思想求最优分箱...
- Linux笔记-bash中解决if语句中command not found问题
- Qt工作笔记-html做界面时,QFileInfo小技巧,获取前端页面
- Qt文档阅读笔记|Qt工作笔记-setupUi官方解析与实例(widgets中界面与业务分离)
- C++学习笔记-利用rapidJSON读取JSON数据
- mysql无法添加或更新子行_MySQL无法添加或更新子行