SharpCompressはGithubで開発されておりNuGet経由でも使用することができます。ライセンスもMITライセンスとなっており使用しやすいと思われます。
https://github.com/adamhathcock/sharpcompress
形式 | 圧縮 | 展開 |
---|---|---|
Rar | ○ | × |
Zip | ○ | ○ |
Tar | ○ | ○ |
GZip | ○ | ○ |
7Zip | ○ | × |
この記事はSharpCompressを使用して圧縮ファイルを展開する方法を記載します。
1.NuGetを使用してSharpCompressをプロジェクトに追加する。
(1)メニューの[ツール]-[NuGetパッケージマネージャー]-[ソリューションのNuGetパッケージの管理]を選択します。(2)[参照]を選択し、[SharpCompress]を検索します。
(3)使用するプロジェクトにチェックを入れ、インストールを選択します。
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();
※この例ではディレクトリは作成されません。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 件のコメント :
コメントを投稿