golang中读取文件

读文件

方式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)
节选自 右眼皮的爱-简书
原文地址:https://www.cnblogs.com/sweetXiaoma/p/11855291.html