golang의 간단한 파일 읽기와 쓰기

1591 단어 IO파일 작업golang
본고는 Golang의 IO 작업에 대해 간단하게 소개할 것이다.
1. 새 파일 만들기simpleio.go, 파일을 기록합니다.
package main
import (
    "os"
    //"encoding/csv"
)
func    main(){
    f,err:=os.Create("haha.txt")
    if err != nil {
        panic(err)
    }
    f.WriteString("this is test file")
    defer f.Close()
}

gVim의 명령 매개변수에서 다음을 수행합니다:!gorun% 프로그램을 실행할 수 있습니다.주의해야 할 것은 파일에 중국어 문자를 쓰면simpleio입니다.go는 utf8 인코딩이어야 합니다.그렇지 않으면 illagel utf8 sequence 오류가 발생합니다.
2. 파일의 내용을 읽습니다.
package main
import (
    "os"
    "fmt"
    //"encoding/csv"
)
func    main(){
    f,err:=os.Open("haha.txt")
    if err != nil {
        panic(err)
    }
    buf :=make([]byte,1024)
    n,_:=f.Read(buf);
    fmt.Println(string(buf[:n]))
    defer f.Close()
}

파일을 읽는 데 관련된 지식이 조금 많고, 수조의 절단이 있으면 다른 것은 아무것도 없다.
3. 랜덤 읽기와 쓰기
랜덤으로 읽기와 쓰기는 간단합니다. 바로 file로 올라가세요.Seek(offset, whenis)하면 됩니다.참고로 랜덤 읽기와 쓰기는 루틴에서 매우 보편적이다.
package main
import (
    "os"
    //: "fmt"
    //"encoding/csv"
)
func    main(){
    f,err:=os.Create("haha.txt")
//  f,err:=os.Open("haha.txt")
    if err != nil {
        panic(err)
    }
//  buf :=make([]byte,1024)
//  n,_=f.read(buf)
//  fmt.Println(string(buf[:n]))
    f.Seek(5,0)
    f.WriteString("  not here!");
    defer f.Close()
}

이렇게 파일에 쓰면 파일의 앞의 5개의byte 비트는 모두 NUL입니다.
잠깐 정리하자.파일의 조작은 운영체제와 관련이 있기 때문에 golang은 이것들을 모두 os 패키지 아래에 놓았다.결국 파일 조작은 사용자 상태의 프로그램으로서 시스템 호출을 통해 핵 함수 조작 파일을 호출한다.

좋은 웹페이지 즐겨찾기