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の過去の記事を検索するか、引き続き以下の関連記事を参照してください。
関連
-
golang マイクロサービスフレームワーク 基本的なGin 基本的なルーティング 使い方 詳細
-
Go言語の基本型と定数の使用例詳細
-
golangはファイルをダウンロードするためにマルチプロセッシングを実装しています(ブレークポイント転送をサポート)。
-
Go並行プログラミング - sync.Onceの例
-
GoでHTTPSサーバを開発する6つの方法まとめ
-
Go(...)の3つのポイントを徹底分析 使用方法
-
Go サービスでリンクトレースを行う方法を説明します。
-
Go言語 構造体とメソッドの基本構文
-
Redisをタスクキューとして利用する(Golang)
-
golang exec シェル実行 出力の同期方法/実行結果の取得方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Go言語の基本 go buildコマンドの使い方と例 詳細
-
Golangの高性能な永続化ソリューションBoltDB Databaseの紹介
-
golang 開発 go パッケージ 依存性管理 godep 使用法 チュートリアル
-
Golang言語ミニマム型変換ライブラリキャストを詳しく使う
-
Golang開発ライブラリ集と役割説明
-
GOウェブデータベース前処理実装
-
グラフの幅優先探索と深さ優先探索を実装するためのgo言語によるプログラミングを学ぶ
-
Go言語におけるエスケープ分析とは一体何なのでしょうか?
-
小学生でもわかるGolangの例外処理リカバリーパニック
-
ピン留めされたボットを使用してGoでメッセージをプッシュする例