猿问

从新创建的文件中读取

我想在新创建的文件上写一些东西


package main


import (

    "fmt"

    "io/ioutil"

    "os"

)


func main() {

    f, _ := os.Create("temp.txt")


    contents := "some stuff..."


    f.WriteString(contents) // <--------

    f.Sync()


    //f.Close()

    //f, _ = os.Open("temp.txt")


    b, _ := ioutil.ReadAll(f)

    fmt.Println(string(b))  // <--------

}

但写了一些东西然后阅读后,最后一行什么也没打印。为什么?


如果我取消上面这两行的注释,一切正常!


子衿沉夜
浏览 91回答 1
1回答

阿晨1998

当您读取或写入文件时,您会移动当前位置,因此它会从您离开的位置继续读取/写入。只有一个位置,因此如果您先写然后读,您将从写后剩下的位置开始阅读。用于f.Seek(0,0)在写入后将位置移动到文件的开头。
随时随地看视频慕课网APP

相关分类

Go
我要回答