Go-文件读写与IO

Go-文件读写与IO
怀光1. os
包中的文件操作
1.1 创建文件
在 Go 语言中,我们可以使用 os.Create
函数来创建文件。该函数会返回一个 *os.File
指针,
我们可以通过它进行后续的文件操作。
1 | package main |
1.2 打开文件
使用 os.Open
可以打开一个已存在的文件,该函数返回一个只读文件指针;如果文件不存在,会返回错误。
1 | file, err := os.Open("example.txt") |
而如果想要读写模式打开文件,我们可以使用 os.OpenFile
,并通过 os.O_RDWR
设定权限。
1 | file, err := os.OpenFile("example.txt", os.O_RDWR, 0644) |
1.3 删除文件
我们可以使用 os.Remove
来删除文件,十分简便。
1 | err := os.Remove("example.txt") |
2. 使用 io
包进行读写操作
2.1 写入文件
有了文件指针后,我们可以使用 Write
方法向文件写入数据。比如:
1 | file, _ := os.Create("data.txt") |
我们也可以使用 io.WriteString
函数来直接写入字符串。
1 | import "io" |
2.2 读取文件
读取文件可以使用 file.Read
,该方法会将文件内容读入一个字节切片。
1 | file, _ := os.Open("data.txt") |
2.3 使用 bufio
提高读取效率
在处理大文件时,我们可以用 bufio.NewReader
提高读取效率。
1 | import ( |
3. 错误处理与文件权限控制
在进行文件操作时,错误处理尤为重要。Go 语言提倡显式的错误检查,避免程序在未预料的情况下崩溃。
此外,os.OpenFile
中的第三个参数可以设置文件权限,例如 0644
表示所有者有读写权限,
而组和其他人只有读取权限。
4. 实用技巧与注意事项
- 文件关闭:使用
defer file.Close()
确保文件操作后会被正确关闭。 - 权限控制:在多人协作的项目中,合理设置文件权限可以提高安全性。
- 错误检查:及时捕获并处理错误,有助于提升程序健壮性。