亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

Go語言壓縮和解壓縮tar.gz文件的方法

2020-04-01 19:20:30
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Go語言壓縮和解壓縮tar.gz文件的方法,實例分析了使用Go語言壓縮文件與解壓文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了Go語言壓縮和解壓縮tar.gz文件的方法。分享給大家供大家參考。具體分析如下:

golang處理壓縮包,最常用的就是tar.gz了,這里寫了一個測試一下。

壓縮文件:

復制代碼代碼如下:
package main
import (
    "fmt"
    "os"
    "io"
    "archive/tar"
    "compress/gzip"
)
func main() {
    // file write
    fw, err := os.Create("tar/lin_golang_src.tar.gz")
    if err != nil {
        panic(err)
    }
    defer fw.Close()
    // gzip write
    gw := gzip.NewWriter(fw)
    defer gw.Close()
    // tar write
    tw := tar.NewWriter(gw)
    defer tw.Close()
    // 打開文件夾
    dir, err := os.Open("file/")
    if err != nil {
        panic(nil)
    }
    defer dir.Close()
    // 讀取文件列表
    fis, err := dir.Readdir(0)
    if err != nil {
        panic(err)
    }
    // 遍歷文件列表
    for _, fi := range fis {
        // 逃過文件夾, 我這里就不遞歸了
        if fi.IsDir() {
            continue
        }
        // 打印文件名稱
        fmt.Println(fi.Name())
        // 打開文件
        fr, err := os.Open(dir.Name() + "/" + fi.Name())
        if err != nil {
            panic(err)
        }
        defer fr.Close()
        // 信息頭
        h := new(tar.Header)
        h.Name = fi.Name()
        h.Size = fi.Size()
        h.Mode = int64(fi.Mode())
        h.ModTime = fi.ModTime()
        // 寫信息頭
        err = tw.WriteHeader(h)
        if err != nil {
            panic(err)
        }
        // 寫文件
        _, err = io.Copy(tw, fr)
        if err != nil {
            panic(err)
        }
    }
    fmt.Println("tar.gz ok")
}

 

解壓文件:

復制代碼代碼如下:
package main
import (
    "fmt"
    "os"
    "io"
    // "time"
    "archive/tar"
    "compress/gzip"
)
func main() {
    // file read
    fr, err := os.Open("tar/lin_golang_src.tar.gz")
    if err != nil {
        panic(err)
    }
    defer fr.Close()
    // gzip read
    gr, err := gzip.NewReader(fr)
    if err != nil {
        panic(err)
    }
    defer gr.Close()
    // tar read
    tr := tar.NewReader(gr)
    // 讀取文件
    for {
        h, err := tr.Next()
        if err == io.EOF {
            break
        }
        if err != nil {
            panic(err)
        }
        // 顯示文件
        fmt.Println(h.Name)
        // 打開文件
        fw, err := os.OpenFile("file2/" + h.Name, os.O_CREATE | os.O_WRONLY, 0644/*os.FileMode(h.Mode)*/)
        if err != nil {
            panic(err)
        }
        defer fw.Close()
        // 寫文件
        _, err = io.Copy(fw, tr)
        if err != nil {
            panic(err)
        }
    }
    fmt.Println("un tar.gz ok")
}

 

這樣以后打包下載東西的時候就可以使用了。

希望本文所述對大家的Go語言程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩成人小视频| 91精品视频免费观看| 国内精品久久久久影院 日本资源| 91精品国产91久久久| 人人爽久久涩噜噜噜网站| 91精品国产九九九久久久亚洲| 国产精品劲爆视频| 欧美日韩一区二区精品| 91在线|亚洲| 高清欧美性猛交xxxx黑人猛交| 欧美有码在线观看| 久久精品国产一区二区三区| 国产精品一区二区久久| 日本一本a高清免费不卡| 青青草一区二区| 国产欧美日韩亚洲精品| 欧美不卡视频一区发布| 精品欧美一区二区三区| 精品国产一区二区三区久久狼5月| 亚洲成人久久久久| 欧美激情在线一区| 欧美中文字幕视频| 亚洲va久久久噜噜噜| 国产精品极品尤物在线观看| 最近中文字幕日韩精品| 久久免费成人精品视频| 亚洲福利视频网站| 国产a级全部精品| 国自产精品手机在线观看视频| 亚洲情综合五月天| 国产精品视频精品视频| 黑人巨大精品欧美一区免费视频| 国产精品久久久久久久久久久久久| 久久精品影视伊人网| 国产成人aa精品一区在线播放| 亚洲欧美日韩国产中文| 亚洲午夜女主播在线直播| 国产视频久久网| 久久免费国产视频| 国产精品入口福利| 在线日韩日本国产亚洲| 欧美一区二区大胆人体摄影专业网站| 久久久久久18| 国产精品久久久久不卡| 国产精品视频网址| 欧美激情亚洲另类| 综合国产在线观看| 97超级碰碰人国产在线观看| 日韩欧美a级成人黄色| 午夜精品久久久久久久男人的天堂| 亚洲男人的天堂在线播放| 国产精品激情自拍| 亚洲最大成人网色| 欧美日韩中文在线观看| 欧美黑人性视频| 亚洲精品一区二区三区不| 91精品国产综合久久香蕉最新版| 91视频免费网站| 欧美极品第一页| 欧美色视频日本高清在线观看| 国产精品女视频| 热久久这里只有精品| 欧美精品久久久久| 久久五月天综合| 国产精品免费小视频| 俺去了亚洲欧美日韩| 国产日本欧美视频| 欧美性在线观看| 欧美成人合集magnet| 亚洲国产欧美日韩精品| …久久精品99久久香蕉国产| 毛片精品免费在线观看| 在线视频精品一| 久久五月情影视| 美女福利精品视频| 欧美成人一区二区三区电影| 日韩精品丝袜在线| 国产成人啪精品视频免费网| 精品国产91久久久久久老师| 日韩在线观看免费全集电视剧网站| 亚洲成人激情视频| 久久精品国产69国产精品亚洲| 亚洲美女在线看| 一区二区国产精品视频| 美日韩精品免费视频| 亚洲欧美日韩中文在线制服| 亚洲精品久久久久久久久| 91精品国产高清久久久久久| 97视频在线观看网址| 亚洲图片欧洲图片av| 精品国偷自产在线视频99| 久久99热精品这里久久精品| 91香蕉亚洲精品| 欧美亚洲另类在线| 亚洲一区二区久久久久久| 日韩视频亚洲视频| 国产精品69久久久久| 国产偷亚洲偷欧美偷精品| 欧美国产极速在线| 国产精品久久激情| 亚洲精品一区二区网址| 亚洲男人的天堂在线| 欧美激情2020午夜免费观看| 精品少妇v888av| 欧美性videos高清精品| 欧美福利视频在线观看| 亚洲男人第一网站| 午夜精品一区二区三区在线| 久久国产精品电影| 亚洲欧美综合另类中字| 97超级碰碰碰久久久| 欧美综合在线第二页| 久久精品国产69国产精品亚洲| 国产精品日韩欧美大师| 亚洲欧美制服中文字幕| 久久久亚洲欧洲日产国码aⅴ| 欧美视频第一页| 成人国产精品久久久| 久久久久久久一区二区| 亚洲人成电影网站色xx| 中文欧美在线视频| 亚洲国产日韩欧美在线动漫| 97国产精品视频| 中文字幕亚洲欧美| 亚洲激情第一页| 国产精品视频在线观看| 91精品国产综合久久久久久蜜臀| 欧美激情三级免费| 欧美激情第1页| 亚洲精选在线观看| 国自在线精品视频| 欧美精品www在线观看| 国产乱肥老妇国产一区二| www.亚洲男人天堂| 国产精品夫妻激情| 亚洲成人av片| 日韩美女视频免费在线观看| 欧洲一区二区视频| 亚洲色图15p| 91亚洲午夜在线| 97激碰免费视频| 成人免费高清完整版在线观看| 丝袜亚洲欧美日韩综合| 日韩**中文字幕毛片| 一区二区三区www| 91亚洲va在线va天堂va国| 欧美专区中文字幕| 亚洲一区二区在线播放| 欧美日韩中文字幕在线视频| 日韩久久精品成人| 欧美性色视频在线| 成人免费在线视频网站| 成人美女免费网站视频| 欧美激情三级免费| 色爱av美腿丝袜综合粉嫩av| 日韩电影中文字幕在线| 欧美精品国产精品日韩精品| 亚洲一区二区三区sesese| 国产成人高清激情视频在线观看| 亚洲成人av资源网| 亚洲摸下面视频| 91人成网站www| 欧美巨猛xxxx猛交黑人97人| 亚洲永久在线观看|