用到的头文件:bufio、io、os
第一步:获取file
file, error := os.Open(fileName) // 其中fileName是文件的完整路径
第二步:关闭file,使用defer,最后再关闭
defer file.Close()
第三步:使用bufio读取文件内容
read, err := bufio.NewReader(file)
第四步:把读取的内容转换为字符串
str, erro := read.ReadString('\n')
最后:完整例子如下: (适合大文件的方式,)
fileName := "/Users/xxxx/Desktop/test.txt"
file, error := os.Open(fileName) // 获取到file
if error != nil {
fmt.Println("读取失败===%v", error)
} else {
fmt.Printf("读取成功===%v", file)
}
defer file.Close() // 关闭file
read := bufio.NewReader(file) // 从file中读取字符串
for {
str, erro := read.ReadString('\n')
fmt.Println(str)
if erro == io.EOF { // 结束
break
}
}
小文件的情况下可以使用下面方法,一次性读取。
fileName := "/Users/zhangmingwei/Desktop/test.txt"
contentSlice, err := os.ReadFile(fileName) // 读取返回切片。打开和关闭都被封装到ReadFile里面了。
if err != nil {
fmt.Println(err)
} else {
lastString := string(contentSlice) // 把切片转换为字符串
fmt.Printf("读取成功内容:\n%v", lastString)
}