【C#】7zipを使ってファイル・フォルダの圧縮をしてみる

2018年8月30日C#, 開発

おはようございます

今回は画面で選択したファイルやフォルダをまとめて圧縮してみようと思います。
圧縮するためのライブラリで、圧縮率の高さなどが人気の「7zip」というツールを使用します。

プログラムは前回のものを流用します。

スポンサーリンク

7zipのdllを入手、配置

下記サイトより入手。
http://www.vector.co.jp/soft/win95/util/se252429.html

作者:秋田 稔 様
http://www.vector.co.jp/vpack/browse/person/an018964.html

パッケージエクスプローラー
パッケージエクスプローラー

ダウンロードした「7-zip32.dll」をプロジェクトの直下にコピーします。

プロパティ画面
プロパティ画面

プロパティから「出力ディレクトリにコピー」オプションを「常にコピーする」に変更します。

画面の修正

ボタンの追加
ボタンの追加

画面に圧縮ボタン、展開ボタン(今回は未使用)を追加

プログラムの修正

ライブラリ使用宣言の追加

実行ディレクトリのパスを取得するために利用

新規メソッドの追加

圧縮対象のフォルダを一時ディレクトリにコピーするために再帰処理をするメソッドを追加

圧縮ボタンクリックイベントの追加

起動してみる

対象のファイルを選択
対象のファイルを選択

対象のファイル(今回はフォルダ)を選択して「追加」ボタンをクリック、下のリストに追加されたら「圧縮」ボタンをクリックします。

圧縮中
圧縮中

ちゃんと圧縮中のプログレスダイアログも表示できます。

完了メッセージ
完了メッセージ

無事に圧縮ファイルを作成できました。

まとめ

ちょっと長くなったので、展開(解凍)はまた次回。

ではでは。

 

スポンサーリンク


関連するコンテンツ