bufio包实现了带缓冲区的读写,是对文件读写的封装。
它包装了一个 io.Reader 或 io.Writer 对象,创建另一个对象(Reader 或 Writer),该对象也实现接口,但为文本 I/O 提供缓冲和一些帮助。

1 NewWriter WriteString

  1. func write(file *File) {
  2. writer := bufio.NewWriter(file)
  3. for i := 0; i < 10; i++ {
  4. writer.WriteString("hello\n")
  5. }
  6. // 刷新缓冲区,强制写出
  7. writer.Flush()
  8. }

2 NewReader ReadLine

  1. func read(file *File) {
  2. reader := bufio.NewReader(file) // *bufio.Reader
  3. for {
  4. line, _, err := reader.ReadLine()
  5. if err == io.EOF {
  6. break
  7. }
  8. if err != nil {
  9. return
  10. }
  11. fmt.Println(string(line))
  12. }
  13. }