"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 동일한`os.file`에 글을 쓴 후 읽을 때`io.eof`를 피하는 방법?

동일한`os.file`에 글을 쓴 후 읽을 때`io.eof`를 피하는 방법?

2025-02-06에 게시되었습니다
검색:750

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

동일한 *os.file go

os에서 파일에 데이터를 작성할 때

.file, 파일 포인터는 작성 후 파일 끝으로 이동합니다. 그 후, 동일한 파일 포인터에서 데이터를 읽으려고 할 때 파일 포인터가 여전히 파일 끝에 있기 때문에 즉시 io.eof (파일 끝) 오류가 발생합니다.

해상도

쓰기 후 동일한 파일 포인터의 데이터를 성공적으로하려면 Seek 메소드를 사용하여 파일의 시작 부분에 파일 포인터를 재설정해야합니다. 예제 코드를 수정하는 방법은 다음과 같습니다.
// 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  // 읽기 전에 파일의 시작 부분을 찾으십시오.
_, err : = f.seek (0, 0)
err! = nil {인 경우
    fmt.println ( "오류", err)
}

// 10 번 읽습니다
r : = bufio.newreader (f)
i : = 0; I   Seek 메소드를 추가하여 파일 포인터는 읽기 전에 파일의 시작 부분에 재설정되어 후속 읽기 작업이 io.eof 오류를 일으키지 않고 서면 데이터를 검색 할 수 있습니다. 

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3