前言
Goosbufio
File.Write、File.WriteString、File.WriteAt
File.Write(b []byte) (n int, err error)
直接操作磁盘往文件里写入数据,写入单位为字节。
bnerr
File.WriteString(s string) (n int, err error)
直接操作磁盘往指定文件里写入数据,写入单位为字符串。
snerr
File.WriteAt(b []byte, off int64) (n int, err error)
off
boffnerr
文件写入操作
test.txtos.O_CREATE
WriteHello World\n
WriteStringHello Golang
Hello World
Hello Golang
WriteAt0xxxxxxxxxxx0
xxxxxxxxxxx
Hello Golang
File.Seek
File.Seek(offset int64, whence int)
offset
offsetwhence012
应用
test.txtos.O_CREATEWriteStringG0lang0oSeeko0o0
bufio.NewWriter、Writer.WriteString、Writer.Flush
bufioWriter4096
NewWriter(w io.Writer) *Writer
4096Writer
wWriterFile*WriterWriter
Writer.WriteString(s string) (int, error)
往缓冲区写入内容的方法。
s
Writer.Flush() error
将所有的缓存数据写入磁盘。
返回值为数据写入磁盘的过程中产生的错误。
文件写入操作
test.txtos.O_CREATENewWriterWriterwriterwriterWriteStringFlush
小结
File.WriteFile.WriteStringFile.WriteAtFile.Seekbufio.NewWriterWriter.WriteStringWriter.Flush