bufio按行读取文件
package main
import (
"bufio"
"fmt"
"io"
"os"
)
// bufio按行读取示例
func main() {
file, err := os.Open("./xx.txt")
if err != nil {
fmt.Println("open file failed, err:", err)
return
}
defer file.Close()
reader := bufio.NewReader(file)
for {
line, err := reader.ReadString('\n') //注意是字符
if err == io.EOF {
if len(line) != 0 {
fmt.Println(line)
}
fmt.Println("文件读完了")
break
}
if err != nil {
fmt.Println("read file failed, err:", err)
return
}
// 此处line的值有换行符\r\n,我们做下处理
tmp := strings.Replace(line, "\r\n", "", -1) // 去掉读出来的换行符\r\n(此处是个大坑)
fmt.Print(tmp)
}
}