파일을 읽기 및 쓰기로 이동

가서, 우리가 패키지 ioutil 선택 파일을 읽고 쓸 수있는 여러 가지 방법이 있습니다

메모리에 파일을 읽으려면

주요 패키지 

가져 오기 ( 
    " IO / ioutil " 
    " FMT " 
) 

FUNC 메인 () { 
    데이터, ERR : = ioutil.ReadFile ( " a.txt이 " ) #은 데이터 바이트 슬라이스에 의해 반환되는
     IF ! ERR = 전무 { 
        FMT .Println ( " 파일 읽기 오류 " , ERR) 
    } 
    fmt.Println ( 문자열 (데이터)) 
}

이진 파일 바인드 말하기

packr 파일 (예를 들어 정적 것인가  .txt 에 파일)  .go 파일을 한 후, .go 파일을 직접 바이너리 파일에 포함됩니다. packer 매우 지능, 개발하는 동안, 당신은 디스크가 아닌 바이너리에서 정적 파일을 얻을 수 있습니다. 개발하는 동안, 경우에만 정적 파일 변경, 다시 컴파일 할 필요가 없습니다.

기본 패키지 

수입 ( 
    " FMT " 

    " github.com/gobuffalo/packr " 
) 

FUNC 주 () { 
    : 상자 (= packr.NewBox " ../a.txt " ) 
    데이터 : = box.String ( " TEST.TXT을 " ) 
    fmt.Println ( " 파일의 내용 : " 데이터) 
}

라인하여 파일 라인을 읽기

주요 패키지 

가져 오기 ( 
    " BUFIO " 
    " 플래그 " 
    " FMT " 
    " 로그인 " 
    " OS를 " 
) 

) FUNC의 주를 ({ 
    // fptr : = flag.String ( " FPATH " , " 있는 test.txt " , " 파일의 경로에서 읽기 " ) 
    //flag.Parse () 

    F, ERR : =에게 os.Open는 ("a.txt이 " ) // bufio는 *의 os.File 유형입니다, 그래서 우리는 다른 방법을 읽을 수 있기 때문에 필요한 다음 소개 나중에
     경우 ERR! = 전무 { 
        로그인합니다.치명적인 (ERR)  
    }
    ) {FUNC를 (연기 
        하는 경우ERR = f.Close (); ERR =! 닐 { 
        log.Fatal (ERR) 
    } 
    } () 
    S : = bufio.NewScanner (F)
     에 대한 s.Scan () { 
        fmt.Println (s.Text ()) 
    } 
    ERR = s.Err ()
     만약 ERR! = 전무 { 
        log.Fatal (ERR) 
    } 
}

블록 파일을 읽을

파일이 특히 RAM 메모리의 불충분 한 양의 경우, 매우 큰 경우, 전체 파일이 이해가되지 않는 메모리에 읽습니다. 더 좋은 방법은 파일 블록을 읽는 것입니다. 이것은 bufio 패키지를 사용하여 수행 할 수 있습니다.

기본 패키지 

수입 ( 
    " bufio " 
    " 플래그 " 
    " FMT " 
    " 로그인 " 
    " OS " 
) 

() {주 FUNC 
    : // fptr = flag.String ( " FPATH " , " 있는 test.txt " , " 파일 경로에서 읽기를 " ) 
    //flag.Parse () 

    F, ERR : = os.Open ("a.txt이 " )
     경우 ! ERR = 닐 { 
        로그.치명적인 (ERR) 
    } 
    {) (FUNC을 연기 
        하는 경우ERR = f.Close (); ERR =! 닐 { 
            log.Fatal (ERR) 
        } 
    } () 
    R : = bufio.NewReader (F) 
    B : = 확인 ([] 바이트 , 3 )
     에 대한 { 
        _, ERR : = r.Read (b)
         만약 ERR ! = 전무 { 
            fmt.Println ( " 파일을 읽는 중 오류 발생 " , ERR)
             휴식 
        } 
        fmt.Println ( 문자열 (B)) 
    } 
}

 

추천

출처www.cnblogs.com/tigerzhouv587/p/11460542.html