C# でZipなどの圧縮形式ファイルを操作したいということはよくあると思います
(ありますよね?
.net にもZip形式のファイルを扱う標準クラスライブラリはいくつかありますが、複数のファイルを圧縮したいなどの一般的な用途には使えるとは言えません
・GZipStreamクラス(System.IO.Compression名前空間)
・ZipPackageクラス(System.IO.Packaging名前空間)
「C# zip」などのフレーズでネットを検索すると、いくつかの .net 対応 zip 操作ライブラリが見つかりますが、自作したアプリケーションにライブラリを添付したいと思うと、ライセンスが気になります
そこでお勧めなのが、マイクロソフトが公開している「DotNetZip Library」です
「DotNetZip」は、マイクロソフトがもっとも制限の緩い「Microsoft Permissive License (Ms-PL)」ライセンスで公開しているライブラリです
操作方法も簡単で、「DotNetZip」のサイトからライブラリをダウンロードし、「Ionic.Zip.dll」を展開します
VisualStudio で C# アプリケーションのプロジェクトを作成し、参照設定から「Ionic.Zip.dll」を参照します
(このとき、「Ionic.Zip.dll」をローカルにコピーするように設定)
あとは、プログラムを書きます
// ファイル名を指定して解凍 using( ZipFile zip = ZipFile.Read( "filename.zip" ) ) { foreach( ZipEntry entry in zip ) { // 解凍する entry.Extract(); } }
これで Zip ファイルの解凍が出来ます
圧縮などの詳しい情報は、「DotNetZip」のサイトからサンプルコードを参照してみてください
コメントを残す
コメントを投稿するにはログインしてください。