方式一 使用 os.Open 函数
package main
import (
"io"
"os"
)
func main() {
file, err := os.Open("./test.txt")
// 注意关闭文件
defer file.Close()
if err == nil {
var content []byte
// 使用 for 循环读取全部内容
for {
// 创建切片保存字节
var temStr = make([]byte, 128)
// 使用file.Read 读取内容
// 返回读取到的长度 错误
len, err := file.Read(temStr)
// 读取完毕
if err == io.EOF {
break
} else {
content = append(content, temStr[:len]...)
}
}
println(string(content))
}
}
方式二 通过 bufio 方式读取
package main
import (
"bufio"
"io"
"os"
)
func main() {
file, err := os.Open("./test.txt")
// 注意关闭文件
defer file.Close()
if err == nil {
reader := bufio.NewReader(file)
var content string
for {
// 一次读取一行
str, err := reader.ReadString('\n')
if err == io.EOF {
// 最后一行也需要拼接
content += str
break
} else {
content += str
}
}
println(content)
}
}
方式三 通过 io/ioutil 工具包来读取
package main
import (
"io/ioutil"
)
func main() {
content, err := ioutil.ReadFile("./test.txt")
if err == nil {
println(string(content))
}
}