当前位置: 首页 > article >正文

go WriteFile文件追加写入(适合小文件)

go 在做文件追加写入时一般用os.OpenFile 指定 FileMode 为 os.O_APPEND. 如官方文档示例:

f, err := os.OpenFile("access.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
	if err != nil {
		log.Fatal(err)
	}
	if _, err := f.Write([]byte("appended some data\n")); err != nil {
		f.Close() // ignore error; Write error takes precedence
		log.Fatal(err)
	}
	if err := f.Close(); err != nil {
		log.Fatal(err)
	}

看起来比较繁琐, 可以利用 os.ReadFile 和 os.WriteFile 来实现追加, 当然这中先读后一起写入的方法不适合像日志系统这样的大文件, 比较适合临时的小文件.

	b, err := os.ReadFile("test.txt")
	if err != nil {
		fmt.Println(err)
	}
	b = append(b, "appended some data\n"...)
	os.WriteFile("test.txt", b, 0666)

http://www.kler.cn/a/106549.html

相关文章:

  • 用户自定义IP核——ZYNQ学习笔记6
  • 使用Redis的一些经验总结
  • STM32 学习笔记-----STM32 的启动过程
  • Hybird和WebView
  • 存储过程及练习
  • 《Django 5 By Example》阅读笔记:p105-p164
  • 分享8个分布式Kafka的使用场景
  • 计算机毕业设计 基于SpringBoot大学生创新创业项目管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试
  • 一、XSS加解密编码解码工具
  • K8s概念汇总-笔记
  • C嘎嘎之类和对象中
  • 使用pytest和allure框架实现自动化测试报告优化
  • 自动化工具-文件清单对比
  • React之服务端渲染
  • Mask Free VIS笔记(CVPR2023 不需要mask标注的实例分割)
  • 腾讯云轻量应用服务器简介_轻量服务器购买指南
  • 从一个webpack loader中学习
  • CloudQuery + StarRocks:打造高效、安全的数据库管控新模式
  • ZooKeeper中节点的操作命令(查看、创建、删除节点)
  • 【Javascript】ajax(阿甲克斯)
  • Elasticsearch打分机制
  • mysql主从搭建(gtid)
  • 《动手学深度学习 Pytorch版》 10.7 Transformer
  • 一篇了解springboot3请求参数种类及接口测试
  • goland无法调试问题解决
  • 基于单片机的数字电压表设计