[C#]圧縮ファイルの展開方法(SharpCompress)

C#でZIP/RARファイルを圧縮、展開できるライブラリにSharpCompressがあります。
SharpCompressはGithubで開発されておりNuGet経由でも使用することができます。ライセンスもMITライセンスとなっており使用しやすいと思われます。
 
オフィシャルサイトは以下となります。
https://github.com/adamhathcock/sharpcompress
 
SharpCompressが現時点で対応している圧縮形式は以下となります。

形式 圧縮 展開
Rar ×
Zip
Tar
GZip
7Zip ×

この記事はSharpCompressを使用して圧縮ファイルを展開する方法を記載します。

1.NuGetを使用してSharpCompressをプロジェクトに追加する。

(1)メニューの[ツール]-[NuGetパッケージマネージャー]-[ソリューションのNuGetパッケージの管理]を選択します。
001.jpg

(2)[参照]を選択し、[SharpCompress]を検索します。
002.jpg

(3)使用するプロジェクトにチェックを入れ、インストールを選択します。
003.jpg

2.SharpCompressの名前空間をソースコードに記載します。

using SharpCompress.Archive;

3.ファイルの解答処理を記載します。

//SharpCompressのエンコーディングを設定する(日本語の文字化け対策)
SharpCompress.Common.ArchiveEncoding.Default = System.Text.Encoding.Default;

//アーカイブを開く
IArchive archive = ArchiveFactory.Open(args[0]);

//アーカイブ内のファイルを列挙する
foreach (var entry in archive.Entries)
{
        Console.WriteLine(entry.Key);

        //ファイルに出力する
        entry.WriteToDirectory(".\\");
}

//解放する
archive.Dispose();
※この例ではディレクトリは作成されません。

4.サンプルコード

以下からダウンロードしてください。
サンプルコードは以下からダウンロードしてください。
 ダウンロード

0 件のコメント :

コメントを投稿