armadillo - Pure Java Archiving API

プロジェクトページ

概 要

armadillo は、Javaで書かれたアーカイビング処理ライブラリです。
アーカイビングを処理するAPIと、それらを統合するイン ターフェイスを提供します。

対応形式

アーカイブの種類と対応状況で す。

種類読み込み作成説明
LHA(lzh)独自実装。圧縮方式はLH5,LH0,LHDのみ。最低限の性能。
ZIPヘッダの処理は独自実装。圧縮部分は標準APIを使用。
日本語 ファイル名はデフォルトでOSエンコーディングを使用。
TAR独自実装。ustar形式のみ対応。
TAR+GZTARと標準API(GZIP I/O)の組み合わせ。
(◎ =かなり処理できる ○=ある程度処理できる △=あまり十分に処理できない ×=処理できない)

制 限事項

Pure Java なので、ファイルの属性は一部(更新時刻)を除いて復元できません。アクセス権や所有者の情報などは復元されません。

特 徴

単独動作

armadillo は、外部ライブラリを使用していませんので、JRE(Java1.4以上)さえあれば動作します。

単純な実装

現 時点では、あまり複雑なことは組み込まないようにしています。互換性よりも、単純さを優先しています。

Java1.4 に対応

開発時点でEOLを迎えていない最古のJavaバージョンである1.4以上の環境で 利用できます。最近では、Eclipse3.xを動作させるためにJava1.4がインストールされていることが多いので、これで十分と考え ています。

実装面では、assertや New I/O API を多用しています。

今 後の予定

いつになるかは分かりませんが、広く使われているアーカイブ形式には対応していきます。特に、 bzip2と7zipあたりを。(難易度高そうです。)

独自アーカイブを作る枠組みなども作ってみようかと思って います。

謝辞

開発環境を提供していただいている SF.jp 、Javaを支えている方々、参考にさせていただいた書籍やサイトの著者の皆様、ありがとうございます。


armadillo.sourceforge.jp