golang의 간단한 파일 읽기와 쓰기
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 패키지 아래에 놓았다.결국 파일 조작은 사용자 상태의 프로그램으로서 시스템 호출을 통해 핵 함수 조작 파일을 호출한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 입출력 I/O스트림(stream) 자바에서 입출력을 수행하려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림(stream)이라고 정의했다. 스트림은 단방향 통신만 가능하기 때문에 하나의 스트림으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.