BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース .NETアプリケーションから7-Zipの圧縮/解凍機能を使用する

.NETアプリケーションから7-Zipの圧縮/解凍機能を使用する

ソフトウェア開発者のEugene Sichkarは、7-Zipアーカイビングアプリケーションへの.NET/C#インターフェースを入れたプロジェクトを(リンク)Code Projectで発表した。7-Zipは(リンク)様々なフォーマットでファイルをアーカイブ/アンアーカイブするのに使用するオープンソースのアプリケーションである。

7-Zipのサイトによると(リンク)、7-Zipはオープンソースのアーカイビングアプリケーションで、次のフォーマットをサポートしている。

    • 圧縮/解凍:7z、ZIP、GZIP、BZIP2、TAR
    •  解凍のみ:RAR、CAB、ISO、ARJ、LZH、CHM、MSI、WIM、Z、CPIO、RPM、DEB、NSIS

7-Zipは現在のところ、Windows 98からVistaにいたるまでのすべてのWindowsデスクトップバージョンで動作する。Linux/Unixへのポートに向けては取り組み中である。7-Zipは無料で、ライセンスはGNU LGPLライセンスになっており(リンク)、UnRARモジュールは若干の制限付きライセンスになっている(リンク)

ソフトウェア開発者のEugene Sichkarが7-Zipアプリケーション搭載の7-Zip DLLへのC#インターフェース(リンク)を作成したおかげで、.NETアプリケーションから7-Zipの圧縮/解凍機能を誰でも使えるようになった。Sichkarによると、以下のインターフェースが実装されている。

    • IProgress -  基本的なプログレスコールバック
    • IArchiveOpenCallback - アーカイブオープン・コールバック
    • ICryptoGetTextPassword - アーカイブのパスワード入力を促すコールバック
    • IArchiveExtractCallback - アーカイブ・コールバックからファイルを抽出
    • IArchiveOpenVolumeCallback - 追加のアーカイブ・ボリュームを開くコールバック
    • ISequentialInStream - 単純なリードオンリーのストリームインターフェース
    • ISequentialOutStream - 単純なライトオンリーのストリームインターフェース
    • IInStream - シーク機能を備えた入力ストリームインターフェース
    • IOutStream - 出力ストリームインターフェース
    • IInArchive - 主要アーカイブインターフェース

.NETインターフェースを使えば、コンソールラインやコンソールライン・ラッパーを介さずに、直接7-Zipの機能(7z. dll)にアクセスする。このインターフェースはCDDLライセンスで(リンク)リリースされている。C#ソースコードをダウンロードするには、Code Projectへの登録が(リンク)必要である。

原文はこちらです:http://www.infoq.com/news/2008/06/7-Zip-from-.NET

この記事に星をつける

おすすめ度
スタイル

BT