golang写文件代码示例
2023-09-14 09:01:53 时间
Go语言的 os 包下有一个 OpenFile 函数,其原型如下所示:
func OpenFile(name string, flag int, perm FileMode) (file *File, err error)
其中 name 是文件的文件名,如果不是在当前路径下运行需要加上具体路径;flag 是文件的处理参数, 为 int 类型,根据系统的不同具体值可能有所不同,但是作用是相同的。
下面列举了一些常用的 flag 文件处理参数: O_RDONLY:只读模式打开文件; O_WRONLY:只写模式打开文件; O_RDWR:读写模式打开文件; O_APPEND:写操作时将数据附加到文件尾部(追加); O_CREATE:如果不存在将创建一个新文件; O_EXCL:和 O_CREATE 配合使用,文件必须不存在,否则返回一个错误; O_SYNC:当进行一系列写操作时,每次都要等待上次的 I/O 操作完成再进行; O_TRUNC:如果可能,在打开时清空文件。
【示例 1】:创建一个新文件 golang.txt,并在其中写入 5 句“http://c.biancheng.net/golang/”
- 案例 1.go
1.go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
//创建一个新文件,写入内容 5 句 “http://c.biancheng.net/golang/”
filePath := "D:/goLang/github/code/golang.txt"
file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE, 0666)
if err != nil {
fmt.Println("文件打开失败", err)
}
//及时关闭file句柄
defer file.Close()
//写入文件时,使用带缓存的 *Writer
/*
func NewWriter
func NewWriter(w io.Writer) *Writer
NewWriter创建一个具有默认大小缓冲、写入w的*Writer。
*/
write := bufio.NewWriter(file)
for i := 0; i < 5; i++ {
write.WriteString("http://c.biancheng.net/golang/ \n")
}
// Flush将缓存的文件真正写入到文件中
write.Flush()
}
相关文章
- asp .net core 静态文件资源
- centos平台scp通过密钥远程复制文件(免密登录)
- golang encoding/xml 解析多个根节点的XML文件
- jekins构建通知邮件配置及邮件附件设置,jenkins构建通知邮件没有RF的log和report文件
- php/nginx/axios: 文件上传: 配置最长执行时间等相关项 (php8.1.1 / nginx 1.18.0 / vue@3.2.26 )
- linux按照文件(夹)大小排序命令:du -d1 /D/* |sort -rn
- 配置和修改springboot默认国际化文件
- Atitit maven配置pom文件 配置法v2 t33 目录 1. Maven打包war原理1 1.1. 在target目录生成war包ori目录。。。里面就是所有的资源1 1.2. 去掉
- 成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题
- 百度离线ocr在提交git后再拉代码,发现table文件改变了,导致工程无法启动-解决
- golang - go文件编码
- 使用FileZilla向linux系统上传文件
- Android培训班(70)Dex文件里类定义dvmDefineClass
- C# 读取文件展示图片
- VC++判断目标文件是否被独占(附源码)
- golang文件读写三种方式——bufio,ioutil和os.create
- 按行方式写入文件---->fputs函数
- ssh自动登陆和scp自动拷贝文件