package main

import (
"bufio"
"fmt"
"io"
"os"
)

func main() {
file, err := os.Open("./test.txt")
if err != nil {
fmt.Println("file open err = ", err)
}
defer file.Close()
reader := bufio.NewReader(file)
for {
str, err := reader.ReadString('\n')
if err == io.EOF {
break
}
fmt.Print(str)
}
}

如果最后一行之后不写一个换行,就无法输出第三行的内容,

这是因为 `reader.ReadString('\n')` 方法会将换行符作为分隔符来读取数据,如果最后一行没有换行符,`reader.ReadString('\n')` 方法会一直等待,直到遇到文件结束符或出现错误。
展开
评论