您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關利用go怎么對gzip壓縮包進行讀取,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
package main // 引入所需包 import ( "os" "compress/gzip" "io/ioutil" "fmt" ) // gzip文件 var fn = "./113.200.251.66_1510825558_A6D39783B05943D8ACA64F397748CF1B_vdn.gz" func main() { println(fn) // 打開本地gz格式壓縮包 fr, err := os.Open(fn) if err != nil { panic(err) } else { println("open file success!") } // defer: 在函數退出時,執行關閉文件 defer fr.Close() // 創建gzip文件讀取對象 gr, err := gzip.NewReader(fr) if err != nil { panic(err) } // defer: 在函數退出時,執行關閉gzip對象 defer gr.Close() // 讀取gzip對象內容 rBuf, err := ioutil.ReadAll(gr) if err != nil { fmt.Println("[read gzip data err]: ", err) } // 以文本形式輸出 fmt.Printf("%s\n", rBuf) }
輸出: ABCDEFG
補充:golang通過在線讀取請求url返回的zip內部內容
訪問url返回的zip包,怎么直接解析zip中的文件并獲取文件中的信息呢?
以前都是用java語言做這些事情,今天閑來蛋疼,用golang也實現了一下,效果已經發布在我的公眾號:j全家桶---激活碼中。
引用了以下包:
"archive/zip" "bufio" "bytes" "fmt" "io" "io/ioutil" "net/http" "os"
1、通過http包內部方法,請求了需要訪問的url,這次只是為了分享在線解析zip,所以地址就不寫出來了。
2、讀取字節流并新建一個讀卡器指定讀取大小,最好弄個延遲關閉流不然內存泄露那是必須的。
3、接下來就是獲取zip中的信息,只需要遍歷一下讀取到的文件把數據取出來就行了
以上就是利用go怎么對gzip壓縮包進行讀取,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。