在 Golang 中,读取 文件 有四种方法,分别为:使用 ioutil.ReadFile 读取文件,使用 file.Read 读取文件,使用 bufio.NewReader 读取文件,使用 ioutil.ReadAll 读取文件。
func ReadAll(r io.Reader) ([]byte, error)
参数 | 描述 |
---|---|
r | Reader 对象。 |
返回值 | 描述 |
---|---|
[]byte | 读取到的数据。 |
error | 读取失败,则返回错误信息。 |
使用 ReadAll 读取文件时,首先,我们需要打开文件,接着, 使用打开的文件返回的文件句柄当作 函数参数 传入 ReadAll。
ReadAll 函数将会将整个文件的内容一次性读取出来,如果读取出错,则返回 error 信息。
使用 ReadAll 读取文件
package main
import (
"fmt"
"io/ioutil"
"os"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
fileName := "C:/haicoder.txt"
file, err := os.Open(fileName)
if err != nil{
fmt.Println("Read file err, err =", err)
return
}
defer file.Close()
fileContent, err := ioutil.ReadAll(file)
if err == nil{
fmt.Println("File Content =", string(fileContent))
}else{
fmt.Println("Read file err, err =", err)
}
}
程序运行后,控制台输出如下:
首先,我们使用 os.Open 打开文件,如果文件打开成功,那么就使用 defer 来关闭文件。接着,使用打开的文件返回的文件句柄当作函数参数传入 ReadAll,ReadAll 将会一次性将读取到的文件内容返回。
func ReadAll(r io.Reader) ([]byte, error)
使用 ReadAll 读取文件时,首先,我们需要打开文件,接着, 使用打开的文件返回的文件句柄当作函数参数传入 ReadAll。
ReadAll 函数将会将整个文件的内容一次性读取出来,如果读取出错,则返回 error 信息。