读文件
方式1
#利用ioutil.ReadFile 直接从文件读取到[]byte中#
file, err := ioutil.ReadFile("file/test.txt")
方式2 缓冲区读取大文件
#先从文件读取到file中,再从file读取到byte[],循环读取直到读取结束#
file, err := os.Open("file/test")
if err != nil {
fmt.Println("read fail")
return
}
defer file.Close()
// 把文件读取到缓冲区中
var chunk []byte // chunk/tʃʌŋk/ 数据块
for {
buffer := make([]byte, 1024)
// 从file读取到buffer中
n, err := file.Read(buffer)
if err != nil && err != io.EOF {
fmt.Println("read buffer fail", err)
return
}
// 读取结束
if n == 0 {
break
}
// 读取到最终的缓冲区中
chunk = append(chunk, buffer[:n]...)
}
return string(chunk)