导航菜单

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,提高性能。