Golang에서 텍스트 파일을 읽으려면 os.Open()을 사용하여 열고 반환된 *os.File 객체를 사용하는 것이 포함됩니다. 읽기 작업을 수행합니다. 그러나 단순히 파일을 여는 것만으로는 내용을 검색할 수 없습니다.
파일 내용을 얻으려면 io.ReadAll을 사용하거나 수동으로 청크 단위로 읽을 수 있습니다.
io.ReadAll 사용:
b, err := io.ReadAll(file) fmt.Print(b)
이 방법은 전체 파일을 메모리로 읽어 들이는데, 이는 작은 파일에 적합합니다.
수동 청크 읽기:
buf := make([]byte, 32*1024) for { n, err := file.Read(buf) if n > 0 { fmt.Print(buf[:n]) } if err == io.EOF { break } if err != nil { log.Printf("read %d bytes: %v", n, err) break } }
이 접근 방식에서는 버퍼를 정의하고 파일 내용을 청크로 읽어서 대용량 파일에 더 효율적일 수 있습니다.
bufio 패키지는 텍스트 파일을 읽는 편리한 방법을 제공합니다. 파일 콘텐츠 토큰화를 단순화하는 bufio.Scanner 유형을 제공합니다.
scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) }
Scan() 메서드는 구분 기호(기본적으로 줄 바꿈)를 기반으로 스캐너의 토큰을 진행합니다.
위 내용은 Golang에서 텍스트 파일을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!