package main
import (
“os”
“fmt”
“bufio”
“io”
)
/*
1)读取文件的内容并显示在终端(带缓冲区的方式),使用os.Open,file.Close,bufio.NewReader(),reader.ReadString函数和方法
读文件操作应用实例
代码实现:
2)xx
*/
func main(){
//打开文件
//概念说明:file的叫法
//1.file叫file对象
//2.file叫file指针
//3.file叫file文件句柄
file , err := os.Open(“d:/spjh.tex”)//os包中的打开。
if err != nil{
fmt.Println(“open file err=”,err)
}
//当函数退出时,要及时的关闭file
defer file.Close()//要及时关闭file句柄,否则会有内存泄漏
//创建一个*Reader,时带缓冲的
/*
const(
defaultBufSize = 4096//默认的缓冲区为4096
)
*/
reader := bufio.NewReader(file)//bufio包中的NewReader
//循环的读取文件的内容
for{
str, err :=reader.ReadString('\n')//读到一个换行符就结束
if err==io.EOF{//io.EOF表示文件的末尾(需要io包)
break
}
//输出内容
fmt.Print(str)
}
fmt.Println("文件读取结束")
}