Go语言文件操作
文件基础操作
使用os、io、bufio等包进行文件读写操作。
import (
"os"
"io"
"bufio"
)
// 读取文件
func readFile(path string) (string, error) {
f, err := os.Open(path)
if err != nil {
return "", err
}
defer f.Close()
// 使用bufio提高性能
reader := bufio.NewReader(f)
content, err := io.ReadAll(reader)
if err != nil {
return "", err
}
return string(content), nil
}
// 写入文件
func writeFile(path, content string) error {
f, err := os.Create(path)
if err != nil {
return err
}
defer f.Close()
writer := bufio.NewWriter(f)
if _, err := writer.WriteString(content); err != nil {
return err
}
return writer.Flush()
}
// 追加写入
func appendFile(path, content string) error {
f, err := os.OpenFile(path, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
return err
}
defer f.Close()
if _, err := f.WriteString(content); err != nil {
return err
}
return nil
}- os.Open:打开文件,只读模式。
- os.Create:创建文件,如果存在则清空。
- bufio:带缓冲的I/O,提高性能。