Читать из вновь созданного файла - PullRequest
0 голосов
/ 08 марта 2020

Я хочу написать кое-что во вновь созданном файле

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))  // <--------
}

, но после того, как я напишу кое-что, а затем прочту, последняя строка ничего не печатает. почему?

если я раскомментирую эти две строки выше, все будет отлично!

1 Ответ

1 голос
/ 09 марта 2020

Когда вы читаете или записываете в файл, вы перемещаете текущую позицию, поэтому он продолжает чтение / запись с того места, где вы оставили. Есть только одна позиция, поэтому если вы пишете, а затем читаете, вы начинаете читать с того места, где вы остались после записи.

Используйте f.Seek(0,0), чтобы переместить позицию в начало файла после записи. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...