>백엔드 개발 >Golang >Golang에서 텍스트 파일을 읽는 방법은 무엇입니까?

Golang에서 텍스트 파일을 읽는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-18 22:37:02598검색

How to Read a Text File in Golang?

텍스트 파일을 읽는 방법

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 패키지는 텍스트 파일을 읽는 편리한 방법을 제공합니다. 파일 콘텐츠 토큰화를 단순화하는 bufio.Scanner 유형을 제공합니다.

scanner := bufio.NewScanner(file)
for scanner.Scan() {             
    fmt.Println(scanner.Text())
}

Scan() 메서드는 구분 기호(기본적으로 줄 바꿈)를 기반으로 스캐너의 토큰을 진행합니다.

위 내용은 Golang에서 텍스트 파일을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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