«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как избежать `io.eof` при чтении после написания в одном и том же` os.file` в go?

Как избежать `io.eof` при чтении после написания в одном и том же` os.file` в go?

Опубликовано в 2025-02-06
Просматривать:930

How to Avoid `io.EOF` When Reading After Writing to the Same `os.File` in Go?

Чтение и написание в то же *os.file in go

Понимание проблемы

в go, когда записывает данные в файл с использованием ОС .File, указатель файла перемещается в конце файла после написания. Впоследствии, когда попытка прочитать данные с того же указателя файла, возникает ошибка IO.EOF (конец файла), потому что указатель файла все еще находится в конце файла.

для успешного считывания данных из того же указателя файла после написания, вы должны сбросить указатель файла в начало файла, используя метод поиска. Вот как вы можете изменить пример кода:

// Поиск в начале файла перед чтением _, err: = f.seek (0, 0) Если ошибка! = nil { fmt.println ("ошибка", err) } // читать 10 раз r: = bufio.newreader (f) для i: = 0; я

// 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; i ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3