1. ホーム
  2. スクリプト・コラム
  3. ゴラン

golangでのtarによるファイルの圧縮・解凍の詳細

2022-02-13 13:38:36

のデモが付属している公式ドキュメントをチェックしてみてください。

    jdbc.driverClass=oracle.jdbc.driver.OracleDriver
    jdbc.url=jdbc:oracle:thin:@nantianpaydb.baidupay.com:8002:ntpzn jdbc.user=cif jdbc.password=cif #druid datasource druid.initialSize=10 druid.minIdle=10 druid.maxIdle=100 druid.maxActive=500 druid.maxWait=30000 druid.timeBetweenEvictionRunsMillis=60000 druid. minEvictableIdleTimeMillis=300000 druid.validationQuery=SELECT 1 from dual druid.testWhileIdle=true druid.testOnBorrow=false druid. testOnReturn=false druid.poolPreparedStatements=true druid.maxPoolPreparedStatementPerConnectionSize=20 druid.filters=wall,stat

1、tar.gzファイルを圧縮して出力します。

公式デモでは、実務でよく使われる圧縮内容をドキュメントに出力することはしていません。ここでは、osライブラリのファイル操作を使って、圧縮されたコンテンツをドキュメントに書き込むことができます。

コードは以下の通りです。

druid.initialSize=10

ハを実装する。

> go run compress.go 




golangでのtar圧縮。

2. タールの解凍

上記と同様に os ライブラリにドキュメントの内容を読み込んで

// tar decompression demo
// Here's a demo of unpacking from the source file and then outputting the file contents
// Author: Jebin Chen
// Reference: http://www.01happy.com/golang-tar/
package main
 
import (
    "archive/tar"
    "fmt"
    "io"
    "log"
    "os"
)
 
func main() {
    // NewReader method, which takes an io.
    // Reader object from the source file?
    // You open the file with os.Open and get an os.
    // Reader method, so you can pass it directly to tar.
    file, err := os.Open("file.tar.gz")
    if err ! = nil {
        log.Fatalln(err)
    }
    defer file.Close()
 
    // tar object reads the contents of the file, iterates through the contents of the output file
    tr := tar.NewReader(file)
    for {
        hdr, err := tr.Next()
        if err == io.EOF {
            break // End of archive
        break // End of archive }
        if err ! = nil {
            log.Fatal(err)
        }
        fmt.Printf("%s file content:\n", hdr.Name)
        if _, err := io.Copy(os.Stdout, tr); err ! = nil {
            log.Fatal(err)
        }
        fmt.Println()
    }
}




実行すること。

 > go run decompress.go  




golang で tar を展開する。

golangでのtar圧縮・解凍についての記事は以上です。golangでのtar圧縮・解凍については、Script Houseの過去の記事を検索するか、引き続き以下の関連記事を参照してください。