golang中tar壓縮和解壓檔案詳情

2022-09-21 02:48:11 字數 1888 閱讀 1023

目錄

檢視官方文件,官方自帶的演示:

// 官方演示

package main

import (

"archive/tar"

"bytes"

"fmt"

"io"

"log"

"os")

func main() ,,,

}for _, file := range fiqfewhles

if err := tw.writeheader(hdr); err != nil

if _, err := tw.write(byte(file.body)); err != nil

}if err := tw.close(); err != nil

// 上面壓縮了之後,壓縮內容都儲存在buf這個變數裡

// 這邊遍歷輸出一下即可

tr := tar.newreader(&buf)

for

if err != nil

fmt.printf("%s的檔案內容: ", hdr.name)

if _, err := io.copy(os.stdout, tr); err != nil

fmt.println()}}

官方的演示中並未將壓縮的內容輸出文件,實際使用中經常會用到。這邊可用os庫中的檔案操作,將壓縮內容寫入文件,參考

**如下:

// tar壓縮

// 這邊演示一下從原始檔進行壓縮,然後輸出乙個tar.gz文件

// 作者:陳傑斌

// 參考位址:

package main

import (

"archive/tar"

"bytes"

"log"

"os")

func main() ,,,

}for _, file := range fiqfewhles

if err := tw.writeheader(hdr); err != nil

if _, err := tw.write(byte(file.body)); err != nil

}if err := tw.close(); err != nil

// 將壓縮文件內容寫入檔案 file.tar.gz

f, err := os.openfile("file.tar.gz", os.o_create|os.o_wronly, 0666)

if err != nil

buf.writeto(f)

}執行一下哈:

> go run compress.go

golang中tar壓縮:

同上,可以使用os庫將文件內容讀入

// tar解壓縮演示

// 這邊演示一下從原始檔進行解壓,然後輸出檔案內容

// 作者:陳傑斌

// 參考位址:

package main

import (

"archive/tar"

"fmt"

"io"

"log"

"os")

func main()

defer file.close()

// tar物件讀取檔案內容, 遍歷輸出檔案內容

tr := tar.newreader(file)

for

qfewh if err != nil

fmt.printf("%s檔案內容:\n", hdr.name)

if _, err := io.copy(os.stdout, tr); err != nil

fmt.println()}}

執行一下:

> go run decompress.go

golang中tar解壓:

tar 壓縮和解壓

1 命令格式 tar 必要引數 選擇引數 檔案 2 命令功能 用來壓縮和解壓檔案。tar本身不具有壓縮功能。他是呼叫壓縮功能實現的 3 命令引數 必要引數有如下 a 新增壓縮檔案到已存在的壓縮 b 設定區塊大小 c 建立新的壓縮檔案 d 記錄檔案的差別 r 新增檔案到已經壓縮的檔案 u 新增改變了和...

tar包壓縮和解壓

tar.gz 格式解壓為 tar zxvf xx.tar.gz tar.bz2 格式解壓為 tar jxvf xx.tar.bz2 注。都有大z,因為都是用compress,它能對儲存文件壓縮解壓 tar czf tar.z jpg 將.jpz包壓縮tar包 tar xzf tar.z jpg 解壓...

tar命令壓縮和解壓 tar檔案

1.壓縮 tar cvf tmp etc.tar etc 2.解壓 tar xvf tmp etc.tar c 3.tar命令常用的功能 c 建立新的tar檔案 x 解開tar檔案 t 列出tar檔案中包含的檔案的資訊 r 附加新的檔案到tar檔案中 注意 以上功能是獨立的,一次只能使用乙個。4.t...