讀取文件

1.使用os包讀取全部文件:
func osReadFile(fileName string) ([]byte , error) {
      return os.ReadFile(fileName)
}
2.使用os包按照切片分片讀?。?/h5>
func osRead(fileName string) ([]byte , error) {
    file , err := os.Open(fileName)
    if err != nil {
        return []byte{} , err
    }
    defer file.Close()

    res := []byte{}
    tmp := make([]byte,1024*4)
    for {
        n , err := file.Read(tmp)
        if err != nil  && err != io.EOF{
            return []byte{} , err
        }
        res = append(res , tmp[:n]...)
        if err == io.EOF {
            break
        }
    }
    return res , nil
}
3.使用ioutil包讀取全部文件:
func ioutilReadAll(fileName string) ([]byte , error) {
     file , err := os.Open(fileName)
     if err != nil {
         return []byte{} , err
     }
     defer file.Close()

     return ioutil.ReadAll(file)
}
4.使用bufio按照字節(jié)截?cái)嘧x取字節(jié):
func bufioReadBytes(fileName string) ([]byte , error){
    file , err := os.Open(fileName)
    if err != nil {
        return []byte{} , err
    }
    defer file.Close()

    reader := bufio.NewReader(file)
    res := []byte{}
    for {
        tmp , err := reader.ReadBytes('\n')
        if err != nil && err != io.EOF {
            return []byte{} , err
        }
        res = append(res,tmp...)
        if err == io.EOF{
            break
        }
    }
    return res , nil
}
5.使用bufio按照字節(jié)截?cái)嘧x取字符串:
func bufioReadString(fileName string) (string , error) {
    file , err := os.Open(fileName)
    if err != nil {
        return "" , err
    }
    defer file.Close()

    res := ""
    reader := bufio.NewReader(file)
    for {
        tmp , err := reader.ReadString('\n')
        if err != nil && err != io.EOF {
            return "" , err
        }
        res += tmp
        if err == io.EOF {
            break
        }
    }
    return res , nil
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、一次性讀取全部文件 1、使用 os 包配合 ioutil 包讀取 2、僅使用 ioutil 包讀取 二、逐行讀...
    _Van丶閱讀 812評論 0 0
  • 35. 讀取文件 文件讀取是所有編程語言中最常見的操作之一。本教程我們會學(xué)習(xí)如何使用 Go 讀取文件。 本教程分為...
    瀧汰泱閱讀 380評論 0 0
  • 讀取文件是一個(gè)經(jīng)常用到的功能,比如從文件目錄中讀取一張照片,讀取一個(gè)txt文件,word,excel等等,今天我們...
    酷走天涯閱讀 753評論 0 0
  • 參考 Go實(shí)戰(zhàn)--golang中讀寫文件的幾種方式 讀文件 讀取的文件放在file/test:也就是file包下的...
    e0c52543163a閱讀 49,860評論 1 4
  • 文章目錄 文件信息接口os.FileInfo 文件的常規(guī)操作 (os包) 文件的讀取和寫入 (io及os包) io...
    __robin閱讀 6,054評論 0 4

友情鏈接更多精彩內(nèi)容