go语言之文件读写
文件操作用到os库。涉及到几个函数分别为os.Open/os.Create/os.OpenFile/os.Remove/os.RemoveAll
(1) 当文件不存在的时候,使用os.Create
var buffer bytes.Buffer
buffer.WriteString("abcd")
file,error:=os.Create("test.txt")
defer file.Close()
if error !=nil{
fmt.Println("file create fail")
}
file.Write(buffer.Bytes()) //写入字节
file.WriteString("\n") //写入字符串
file.Write(buffer.Bytes())
(2) 当文件存在的时候,使用os.OpenFile
file,error:=os.OpenFile("test.txt",os.O_RDWR|os.O_CREATE,0766)
defer file.Close()
if error !=nil{
fmt.Println("file create fail")
}
其中读写权限的含义如下:
O_RDWR: 读写方式打开
O_CREATE:如果文件不存在,则先创建
O_WRONLY: 只写
O_RDONLY:只读
O_APPEND:追加方式写
O_SYNC:以同步I/O的方式打开
第三个参数:权限
0:没有任何权限
1:执行权限
2:写权限
3:写权限和执行权限
4:读权限
5:读权限和执行权限
6:读权限和写权限
7:读权限,写权限,执行权限
(3) 逐行读文件,需要使用到bufio库
br:=bufio.NewReader(file)
for{
a,_,c:=br.ReadLine()
if c == io.EOF{
break
}
fmt.Println(string(a))
}
(4) 删除文件
del := os.Remove(
"./1.txt"
);
if
del != nil {
fmt.Println(del);
}
(5) 删除指定path下的所有文件
delDir := os.RemoveAll(
"./dir"
);
if
delDir != nil {
fmt.Println(delDir);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-02-17 自己动手开发网络服务器(一)