Golang逐行读取文本文件
当文件过大,不适合一次性载入内存,且文件每行都包含特定信息时,我们就需要逐行读取文件来保证程序的性能;
示例代码:
package main
import (
"fmt"
"os"
"bufio"
)
func main() {
fp,err := os.Open("file.txt")
if err!=nil{
fmt.Println(err) //打开文件错误
return
}
buf := bufio.NewScanner(fp)
for {
if !buf.Scan() {
break //文件读完了,退出for
}
line := buf.Text() //获取每一行
fmt.Println(line)
}
}