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)
节选自 右眼皮的爱-简书


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM