![[红脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_63.c32f5b5.png)
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')` 方法会一直等待,直到遇到文件结束符或出现错误。
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')` 方法会一直等待,直到遇到文件结束符或出现错误。
展开
评论
点赞