>백엔드 개발 >Golang >처음부터 데이터를 읽기 위해 쓴 후 Go *os.File 포인터를 되감는 방법은 무엇입니까?

처음부터 데이터를 읽기 위해 쓴 후 Go *os.File 포인터를 되감는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-10 21:47:25445검색

How to Rewind a Go *os.File Pointer After Writing to Read Data From the Beginning?

Go에서 동일한 *os.File에 기록된 데이터를 읽으려면 파일 포인터를 찾으세요

*os.File 포인터를 사용하여 Go에서 파일 작업을 할 때, 파일 포인터의 작동 방식을 이해하는 것이 중요합니다. 파일 포인터는 파일의 현재 위치를 추적합니다. 파일에 쓸 때 파일 포인터는 자동으로 쓰여진 데이터의 끝으로 이동합니다.

귀하의 경우에는 동일한 *os.File 포인터에서 데이터를 쓰고 읽으려고 합니다. 그러나 쓰기 루프 이후에는 파일 포인터가 파일 끝에 위치하므로 파일 시작 부분부터 읽으려고 할 때 아무것도 읽지 못하게 됩니다.

이 문제를 해결하려면 " 파일에서 읽기를 시도하기 전에 파일 포인터를 파일의 시작 부분으로 되감습니다. 이는 *os.File 포인터의 Seek 함수를 사용하여 수행할 수 있습니다.

이를 수행하는 방법은 다음과 같습니다.

_, err := f.Seek(0, 0)
if err != nil {
    fmt.Println("Error", err)
}

위 코드는 파일의 시작 부분을 찾아서 다음을 전달합니다. 오프셋에 대한 인수는 0이고 시작 위치(파일의 시작)에 대한 인수는 0입니다. 이제 io.EOF 오류 없이 파일을 읽을 수 있습니다.

위 내용은 처음부터 데이터를 읽기 위해 쓴 후 Go *os.File 포인터를 되감는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.