濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 使用go讀取gzip格式的壓縮包的操作

使用go讀取gzip格式的壓縮包的操作

熱門(mén)標(biāo)簽:寧波語(yǔ)音外呼系統(tǒng)公司 地圖標(biāo)注免費(fèi)定制店 鄭州智能語(yǔ)音電銷(xiāo)機(jī)器人價(jià)格 不封卡外呼系統(tǒng) 仙桃400電話辦理 上海極信防封電銷(xiāo)卡價(jià)格 重慶慶云企業(yè)400電話到哪申請(qǐng) 湛江crm外呼系統(tǒng)排名 宿遷便宜外呼系統(tǒng)代理商

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

package main
// 引入所需包
import (
  "os"
  "compress/gzip"
  "io/ioutil"
  "fmt"
)
// gzip文件
var fn = "./113.200.251.66_1510825558_A6D39783B05943D8ACA64F397748CF1B_vdn.gz"
func main() {
  println(fn)
  // 打開(kāi)本地gz格式壓縮包
  fr, err := os.Open(fn)
  if err != nil {
    panic(err)
  } else {
    println("open file success!")
  }
  // defer: 在函數(shù)退出時(shí),執(zhí)行關(guān)閉文件
  defer fr.Close()
  // 創(chuàng)建gzip文件讀取對(duì)象
  gr, err := gzip.NewReader(fr)
  if err != nil {
      panic(err)
    }
  // defer: 在函數(shù)退出時(shí),執(zhí)行關(guān)閉gzip對(duì)象
  defer gr.Close()
  // 讀取gzip對(duì)象內(nèi)容
  rBuf, err := ioutil.ReadAll(gr)
  if err != nil {
    fmt.Println("[read gzip data err]: ", err)
  }
  // 以文本形式輸出
  fmt.Printf("%s\n", rBuf)
}

輸出: ABCDEFG

補(bǔ)充:golang通過(guò)在線讀取請(qǐng)求url返回的zip內(nèi)部?jī)?nèi)容

訪問(wèn)url返回的zip包,怎么直接解析zip中的文件并獲取文件中的信息呢?

以前都是用java語(yǔ)言做這些事情,今天閑來(lái)蛋疼,用golang也實(shí)現(xiàn)了一下,效果已經(jīng)發(fā)布在我的公眾號(hào):j全家桶---激活碼中。

引用了以下包:

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

1、通過(guò)http包內(nèi)部方法,請(qǐng)求了需要訪問(wèn)的url,這次只是為了分享在線解析zip,所以地址就不寫(xiě)出來(lái)了。

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

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

其實(shí)還是蠻簡(jiǎn)單的,只是golang語(yǔ)言用得少,對(duì)于流的操作也比較少所以寫(xiě)一個(gè)今天實(shí)現(xiàn)這個(gè)功能的總結(jié),點(diǎn)滴積累厚積薄發(fā)!

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Go 語(yǔ)言中g(shù)in使用gzip壓縮遇到的問(wèn)題
  • go判斷文件夾是否存在并創(chuàng)建的實(shí)例
  • go 協(xié)程返回值處理操作
  • golang實(shí)現(xiàn)的文件上傳下載小工具
  • Golang 實(shí)現(xiàn)復(fù)制文件夾同時(shí)復(fù)制文件
  • golang文件讀取-按指定BUFF大小讀取方式
  • golang 如何獲取pem格式RSA公私鑰長(zhǎng)度

標(biāo)簽:電子產(chǎn)品 海南 西雙版納 安康 儋州 物業(yè)服務(wù) 遼寧 青海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用go讀取gzip格式的壓縮包的操作》,本文關(guān)鍵詞  使用,讀取,gzip,格式,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用go讀取gzip格式的壓縮包的操作》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于使用go讀取gzip格式的壓縮包的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    洪江市| 奉节县| 迁西县| 舒城县| 东山县| 正蓝旗| 平湖市| 温泉县| 玉龙| 洞口县| 阿鲁科尔沁旗| 拜泉县| 高州市| 新营市| 浦东新区| 翁牛特旗| 陵水| 武胜县| 苏尼特左旗| 民勤县| 望江县| 崇左市| 葵青区| 金坛市| 正阳县| 时尚| 揭东县| 化州市| 开封县| 新民市| 紫云| 廉江市| 韶关市| 萍乡市| 渭源县| 宣城市| 康定县| 奈曼旗| 临邑县| 共和县| 同江市|