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ファイルパスを取得
解凍するものを選んで「解凍」
解凍先に指定した場所に解凍されます
以上!
コメント
コメントを投稿