写文件

上一节课介绍了 Go 读文件的常用操作,本章节将介绍 Go 写文件的相关操作,包括:

  • 创建文件

  • 在文件指定位置写入内容

  • 通过 Buffered Writter 写文件

创建文件

  • 使用 os.Create(name string) 方法创建文件

  • 使用 os.Stat(name string) 方法获取文件信息

简单示例:

package main

import (
    "fmt"
    "io/ioutil"
    "os"
)

func checkErr(err error) {
    if err != nil {
        panic(err)
    }
}

func main() {
    path := "test.txt"

    newFile, err := os.Create(path)
    checkErr(err)
    defer newFile.Close()

    fileInfo, err := os.Stat(path)
    if err != nil {
        if os.IsNotExist(err) {
            fmt.Println("file doesn't exist!")
            return
        }
    }
    fmt.Println("file does exist, file name : ", fileInfo.Name())
}

除了上述方法外,还可以通过 ioutil.WriteFile 一步完成文件创建和写入操作。假如该文件之前已经存在,那么将会覆盖掉原来的内容,写入新的内容。

示例如下:

在文件指定位置写入内容

使用 writeAt 可以在文件指定位置写入内容

通过 Buffered Writer 写文件

使用 Buffered Writer 可以避免太多次的磁盘 IO 操作。写入的内容首先是存在内存中,当调用 Flush() 方法后才会写入磁盘。

最后更新于

这有帮助吗?