GO IO(2)
2393 ワード
OSを使用したファイルの読み書き
ファイルを開く
この方法では、ファイルパスオープンモードファイル権限を指定する必要があります.
ファイルを読む
ファイルオブジェクトのReadメソッド
例:
bufioパッケージはキャッシュを実現し、ioをパッケージした.Readerとio.Writerオブジェクト、別のReaderオブジェクトとWriterオブジェクトを作成
例:
ファイルを書く
ファイルオブジェクトのWriteメソッド
例:
bufioパッケージはキャッシュを実現し、ioをパッケージした.Readerとio.Writerオブジェクト、別のReaderオブジェクトとWriterオブジェクトを作成
例:
ファイルを開く
func Open(name string) (*File, error)
この方法では、ファイルパスオープンモードファイル権限を指定する必要があります.
func OpenFile(name string, flag int, perm FileMode) (*File, error)
ファイルを読む
ファイルオブジェクトのReadメソッド
// b , 。 。
// , 0,io.EOF
func (f *File) Read(b []byte) (n int, err error)
例:
func main() {
dir,err:=filepath.Abs("")
checkErr(err)
pwd:=dir+"/main"
f,err:=os.Open(pwd+"/io.txt")
defer f.Close()
checkErr(err)
bs:=make([]byte,1024)
_,err=f.Read(bs)
checkErr(err)
fmt.Println(string(bs))
}
bufioパッケージはキャッシュを実現し、ioをパッケージした.Readerとio.Writerオブジェクト、別のReaderオブジェクトとWriterオブジェクトを作成
func (b *Reader) Read(p []byte) (n int, err error)
例:
func main() {
dir,err:=filepath.Abs("")
checkErr(err)
pwd:=dir+"/main"
f,err:=os.Open(pwd+"/io.txt")
defer f.Close()
checkErr(err)
bs:=make([]byte,1024)
bufReader:=bufio.NewReader(f)
_,err=bufReader.Read(bs)
checkErr(err)
fmt.Println(string(bs))
}
ファイルを書く
ファイルオブジェクトのWriteメソッド
// b f , 。 n len(b) , err
func (f *File) Write(b []byte) (n int, err error)
例:
func main() {
dir,err:=filepath.Abs("")
checkErr(err)
pwd:=dir+"/main"
// OpenFile
f,err:=os.OpenFile(pwd+"/io.txt",os.O_RDWR|os.O_APPEND,0644)
defer f.Close()
checkErr(err)
bs:=[]byte("file write test")
_,err=f.Write(bs)
checkErr(err)
}
bufioパッケージはキャッシュを実現し、ioをパッケージした.Readerとio.Writerオブジェクト、別のReaderオブジェクトとWriterオブジェクトを作成
func (b *Writer) Write(p []byte) (nn int, err error)
例:
func main() {
dir,err:=filepath.Abs("")
checkErr(err)
pwd:=dir+"/main"
// OpenFile
f,err:=os.OpenFile(pwd+"/io.txt",os.O_RDWR|os.O_APPEND,0644)
defer f.Close()
checkErr(err)
bs:=[]byte("file write test")
bufWriter:=bufio.NewWriter(f)
_,err=bufWriter.Write(bs)
checkErr(err)
// write Flush
bufWriter.Flush()
}