golang文件操作

一、打开和关闭文件

打开使用函数

func Open (name string) (file *file, err error)

关闭文件

func (f *File) Close() error

带缓冲的 *Reader

reader := bufio.NewReader(file)
// 循环读每行
for {
    str, err := reader.ReadString('\n') // 读到一个换行就结束
    if err == io.EOF { // io.EoF代表文件末尾
        break;
    }
}

一次性读文件

file := "d:/test.txt"
content, err := ioutil.ReadFile(file)
if err != nil {
    fmt.Printf("read err %v", err)
}
fmt.Printf("%v", string(content)) // []byte

判断文件或文件夹是否存在
若返回错误为nil,说明文件或文件夹存在
若返回错误类型使用os.IsNotExist()判断为true,说明不存在
如果错误类型为其他,则不确定是否存在

_,err := os.Stat(path)

二、写文件

os.OpenFile(name string, flag int, perm FileMode) (file *File, err error)
str := "xxxx"
writer := bufio.NewWriter(file)
writer.WriterString(str)
// writer是带缓存的,WriterString只是写入缓存
//需要调用Flush,将缓存输入写入磁盘
writer.Flush()

你可能感兴趣的:(文件)