好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Go語言壓縮和解壓縮tar.gz文件的方法

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

熱門標簽:外呼系統多少錢一年 滁州自建外呼系統 外呼系統如何接收服務密碼 工商信用卡外呼系統教程 智能營銷軟件 客服級電銷機器人 海外照相館地圖標注入駐 旅游廁所如何電子地圖標注 經常接到推銷電話機器人的電話

本文實例講述了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語言程序設計有所幫助。

您可能感興趣的文章:
  • go語言制作的zip壓縮程序
  • GO語言實現批量壓縮圖片和水印
  • go語言通過zlib壓縮數據的方法
  • Golang使用zlib壓縮和解壓縮字符串
  • Go 語言中gin使用gzip壓縮遇到的問題
  • golang中snappy的使用場合實例詳解

標簽:運城 湘潭 九江 本溪 深圳 晉城 喀什 楚雄

巨人網絡通訊聲明:本文標題《Go語言壓縮和解壓縮tar.gz文件的方法》,本文關鍵詞  語言,壓縮,和解,tar.gz,文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言壓縮和解壓縮tar.gz文件的方法》相關的同類信息!
  • 本頁收集關于Go語言壓縮和解壓縮tar.gz文件的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美一级淫片免费播放口| 男女啪啪久久精品免费A片| 亚洲卡通动漫中文字幕区| 女仆扒开腿秘?让人桶爽的 | 亚洲欧美色图片| 刘玥AV无码专区88| 国产91丝袜美腿在线观看| 女神的娇喘疯狂3p之夜 在线观看| 韩国三级巜干柴烈火〉电影| 午夜在线社区视频| 亚洲热久久| 阿娇被吸得高潮20分钟视频| 欧美毛多水多h日本一区二区| 精品亚洲AV高清一区二区三河南| 亚洲精品久久久久久久久久尿 | 17c精品麻豆一区二区免费 | H肉动漫无码AV在线亚洲一区| 动漫美女被jk动漫软件| 日本三级网站在线线观看| 亚洲精品鲁一鲁一区二区三区| 亲胸小说| 十八岁毛片| 87亚洲AV无码乱码精品观看| 强行无套内谢大学| 再深点灬舒服灬太大了o经过| 52书库全文免费阅读在线| 午夜精品久久久久久久爽牛战| freexxxporn中国妇女| 17c起草国产AV麻豆香蕉| 九幺9.1风险免费版安装| 91欧美亚洲| 免费看欧美一级特黄a大片一| 国产成人精品免费视频大全办公室| babesvideos18性欧美另内| 国产怮女在线观看免费| EEUSS国产一区二区三区| 欧美色图偷窥自拍| 天天噜天天干| 91av中文字幕| 免费?无码?国产63在线| 欧美gay在线|