文件操作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语言实现文件拷贝相关推荐

  1. C 语言编程 — 输入/输出与文件操作

    目录 文章目录 目录 前文列表 输入/输出 scanf() 和 printf() getchar() 和 putchar() 文件操作 打开文件 关闭文件 写入文件 读取文件 二进制 I/O 函数 前 ...

  2. 11 12 13c语言编程,C语言编程

    C语言编程 1.sscanf() sscanf()与scanf()类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 头文件:#include 格式:int ssc ...

  3. 在电脑测试c语言编程,C语言电脑编程兴趣班测试题目

    <C语言电脑编程兴趣班测试题目>由会员分享,可在线阅读,更多相关<C语言电脑编程兴趣班测试题目(3页珍藏版)>请在人人文库网上搜索. 1.少年宫电脑编程兴趣班测试题目竞赛时间: ...

  4. [Lua语言编程]Lua语言基础知识

    文章目录 `Lua` `Lua`语言的起源 `Lua` 特性 `Lua下载` Linux 系统上安装 Mac OS X 系统上安装 Window 系统上安装 `Lua` `Lua`语言语法 `Lua` ...

  5. 在线模拟c语言编程,c语言模拟编程学习软件v2019

    C/C ++程序设计学习与实验系统是一款可用于设计教学演示.学习与实验的C/C ++语言编程学习软件,是由从事教学的老师根据C/C ++的初学者及C程序多媒体演示研发.对于想要学习C语言的朋友是一个不 ...

  6. 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) ...

  7. 100以内加减法C语言编程,C语言编程100题(其三)来啦!

    原标题:C语言编程100题(其三)来啦! 无论是风里,还是在雨里,我都在这里守候着你- 大家好啊,我是小C,咱们又见面咯,前面的题目做的怎么样呢,今天又给大家送上新的题目了,快来学习吧! 计算200到 ...

  8. 单片机c语言怎样添加自定义头文件,单片机C语言编程与或|头文件常见问题

    一.常见问题 1.头文件reg51.h和reg52.h其实是一样的,大家两个都可以用. 2.main()前面的void可加可不加,反正都是无返回值函数. 3.不是每一个程序都要用到死循环while(1 ...

  9. C语言编程中关于头文件使用问题

    目录 1 头文件引用方式 2 头文件书写格式 2.1 条件编译 2.1.1 #ifdef... #else... #endif命令 2.1.2 #if defined... #else... #end ...

最新文章

  1. DotNet 开发团队图
  2. RHEL4- WEB服务(十二)用户访问apache服务器认证
  3. Misunderstood-Missing-逆向DP
  4. 从零点五开始用Unity做半个2D战棋小游戏(十)
  5. 【Linux网络编程】原始套接字实例:MAC 地址扫描器
  6. GitHub上13个学习资源项目,值得收藏!
  7. Appium移动自动化测试-----(一)Appium介绍
  8. 【R可视化】你家乡的肯德基都在哪儿?
  9. promise的理解和使用-尚硅谷教程笔记
  10. 使用exceljs导出excel表格
  11. 中国移动MM7 API用户手册(一)
  12. 学习笔记(14):C++编程FFMpeg(QT5+OpenCV)实战--实时美颜直播推流-打开rtmp推流输出并从文件读取音视频帧...
  13. shell 脚本程序中空格 $符号的使用
  14. greenplum 添加mirror
  15. 提示程序需要Windows 7 Service Pack 1或更高版本问题如何解决?
  16. windows下同一台电脑安装两个mysql数据库
  17. 蓝桥杯国赛五一训练赛(1)
  18. 【无标题】ES2022 个人笔记
  19. 百度webgis-api-加载卫星影像图
  20. iOS开发 - 清除缓存

热门文章

  1. python mro文件_Python MRO
  2. 1.7 编程基础之字符串 34 回文子串 python
  3. 第21课 田忌赛马 《小学生C++趣味编程》
  4. 【chorme插件开发】第四节:html+js实现的功能插件开发实例
  5. python最优分箱计算iv值_GitHub - zhaoxingfeng/WOE: Weight of Evidence,基于iv值最大思想求最优分箱...
  6. Linux笔记-bash中解决if语句中command not found问题
  7. Qt工作笔记-html做界面时,QFileInfo小技巧,获取前端页面
  8. Qt文档阅读笔记|Qt工作笔记-setupUi官方解析与实例(widgets中界面与业务分离)
  9. C++学习笔记-利用rapidJSON读取JSON数据
  10. mysql无法添加或更新子行_MySQL无法添加或更新子行