亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang read from pipe 讀取大量數據

Golang read from pipe 讀取大量數據

Go
呼啦一陣風 2021-09-09 13:51:10
我試圖讀取就是BEING柏油,流媒體,以標準輸入存檔,但我不知怎么讀遠遠在管道的數據超過焦油發送。我像這樣運行我的命令:tar -cf - somefolder | ./my-go-binary源代碼是這樣的:package mainimport (    "bufio"    "io"    "log"    "os")// Read from standard inputfunc main() {    reader := bufio.NewReader(os.Stdin)    // Read all data from stdin, processing subsequent reads as chunks.    parts := 0    for {        parts++        data := make([]byte, 4<<20) // Read 4MB at a time        _, err := reader.Read(data)        if err == io.EOF {            break        } else if err != nil {            log.Fatalf("Problems reading from input: %s", err)        }    }    log.Printf("Total parts processed: %d\n", parts)}對于 100MB 的 tarred 文件夾,我得到 1468 個 4MB 的塊(即 6.15GB)!此外,data []byte數組有多大似乎并不重要:如果我將塊大小設置為 40MB,我仍然會得到大約 1400 個 40MB 的數據塊,這完全沒有意義。我需要做什么才能os.Stdin使用 Go 正確讀取數據嗎?
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號