golang 讀取檔案

2021-10-01 05:24:50 字數 974 閱讀 6819

使用go語言讀取檔案的各種方式整理。

// * 整個檔案讀到記憶體,適用於檔案較小的情況

func readallintomemory(filename string) (content byte, err error)

defer fp.close()

fileinfo, err := fp.stat()

if err != nil

buffer := make(byte, fileinfo.size())

_, err = fp.read(buffer) // 檔案內容讀取到buffer中

if err != nil

return buffer, nil

}

一次性載入到記憶體中適用於小檔案。 如果檔案太大, 記憶體緊張的情況下, 可以借助緩衝, 分多次讀取。

// * 一塊一塊地讀取, 即給乙個緩衝, 分多次讀到緩衝中

func readbyblock(filename string) (content byte, err error)

defer fp.close()

const buffersize = 64 // 緩衝大小, 每次讀取64個位元組

buffer := make(byte, buffersize)

for else

} }return

}

有時我們也需要按行處理

// 逐行讀取, 一行是乙個byte, 多行就是byte

func readbyline(filename string) (lines byte, err error)

defer fp.close()

bufreader := bufio.newreader(fp)

for

} else

} return

}

golang讀取檔案

提前建乙個檔案文字helloworld.txt,現在可以在go程式中使用絕對檔案路徑將helloworld整個檔案讀取。中使用到 ioutol包中的 readfile函式。在go語言標準庫文件中它的用法是 func readfile filename string byte,error 說明 rea...

golang檔案讀取介紹

golang提供了多種檔案讀取方式,第一種方式,也是最簡單的一種方式,如下 bytes,err ioutil.readfile a.txt if err nil fmt.println string bytes 該種方式需要引入ioutil包,ioutil.readfile的入參為檔名,返回值分別是...

golang 讀取ini檔案

package main import fmt gopkg.in ini.v1 log time func main 獲取預設分割槽的key fmt.println cfg.section key version string 將結果轉為string fmt.println cfg.section ...