使用go語言怎么對gzip壓縮包進行讀取-創(chuàng)新互聯(lián)

使用go語言怎么對gzip壓縮包進行讀???很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元劍川做網(wǎng)站,已為上家服務,為劍川各地企業(yè)和個人服務,聯(lián)系電話:13518219792
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: 在函數(shù)退出時,執(zhí)行關閉文件
  defer fr.Close()
  // 創(chuàng)建gzip文件讀取對象
  gr, err := gzip.NewReader(fr)
  if err != nil {
      panic(err)
    }
  // defer: 在函數(shù)退出時,執(zhí)行關閉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也實現(xiàn)了一下,效果已經(jīng)發(fā)布在我的公眾號:j全家桶---激活碼中。

引用了以下包:

"archive/zip"
"bufio"
"bytes"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"

1、通過http包內部方法,請求了需要訪問的url,這次只是為了分享在線解析zip,所以地址就不寫出來了。

2、讀取字節(jié)流并新建一個讀卡器指定讀取大小,好弄個延遲關閉流不然內存泄露那是必須的。

3、接下來就是獲取zip中的信息,只需要遍歷一下讀取到的文件把數(shù)據(jù)取出來就行了

使用go語言怎么對gzip壓縮包進行讀取

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設公司,的支持。

當前名稱:使用go語言怎么對gzip壓縮包進行讀取-創(chuàng)新互聯(lián)
鏈接地址:http://bm7419.com/article46/hcceg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、商城網(wǎng)站、網(wǎng)站排名、網(wǎng)站建設、企業(yè)網(wǎng)站制作、標簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)