使用"bufio"中的NewReader方法,返回一个带缓冲区的Reader
而*File就实现了io.Reader接口,
具体代码:
package main
import (
"fmt"
"io"
"os"
"bufio"
)
func main(){
file, err := os.Open("./hello.go")
if err!=nil{
fmt.Println("文件读取错误", err)
}else{
defer file.Close()
reader := bufio.NewReader(file)
for{
str, err := reader.ReadString('
')// 每次读取一行
if err==io.EOF{// 读到文件末尾
break
}else{
fmt.Print(str)
}
}
}
fmt.Println("文件读取结束!")
}
结果: