in Go, wenn Daten in eine Datei mit OS geschrieben werden .File, der Dateizeiger wird nach dem Schreiben an das Ende der Datei verschoben. Anschließend wird beim Versuch, Daten aus demselben Dateizeiger zu lesen, ein sofortiger IO.eof -Fehler (Ende der Datei-) Fehler, weil sich der Dateizeiger noch am Ende der Datei befindet.
Um Daten nach dem Schreiben erfolgreich aus demselben Dateizeiger zu lesen, müssen Sie den Dateizeiger mithilfe der Suchmethode auf den Beginn der Datei zurücksetzen. So können Sie den Beispielcode ändern:
// Seek to the beginning of the file before reading _, err := f.Seek(0, 0) if err != nil { fmt.Println("Error", err) } // Read 10 times r := bufio.NewReader(f) for i := 0; iDurch Hinzufügen der Suchmethode wird der Dateizeiger vor dem Lesen auf den Beginn der Datei zurückgesetzt, sodass die nachfolgenden Lesevorgänge die schriftlichen Daten abrufen können, ohne einen IO.eof -Fehler zu verursachen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3