C# 忘備録 SharpZipLibを使用したtar.gz tgzファイルの解凍


前回のlistBoxにファイルをドラッグ&ドロップしてファイルパスを取得するの続きでやります。
http://numaroplogrammemo.blogspot.com/2018/07/cformlistbox.html
といってもファイルパスを直書きにするかどうかだけなので見なくてもいいです。


まずはSharpZipLibライブラリをダウンロードします
https://github.com/icsharpcode/SharpZipLib

ソリューションの追加→既存のプロジェクト→ダウンロードした「\SharpZipLib-master\src\ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib.csproj」を選択して追加します。

解凍ボタンを追加します。


















解凍ボタンの処理を書いていきます
//tar.gzを読み取り専用で開きます    ↓これは選択しているリストボックスのファイルパスです
using (var tgzStream = File.OpenRead(listBox1.SelectedItems[0].ToString()))
 //GZipStreamオブジェクトを解凍モードで作成します
using (var gzStream = new GZipStream(tgzStream, CompressionMode.Decompress))
 using (var tarArchive = TarArchive.CreateInputTarArchive(gzStream))
{
      //解凍するフォルダを指定します
       tarArchive.ExtractContents(@"C: \Users\deii7799\Documents\test\");
}











起動します
ドラッグ&ドロップでtarファイルパスを取得
解凍するものを選んで「解凍」


















解凍先に指定した場所に解凍されます



















以上!





コメント

このブログの人気の投稿

5: テキストボックスtextboxと四則演算 C# 入門

6:ComboBoxとif文の使用で簡易電卓の作成 C# 入門