armadillo - Pure Java Archiving API

プロジェクトページ

概要

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

対応形式

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

種類 読み込み 作成 説明
LHA(lzh) 独自実装。圧縮方式はLH5,LH0,LHDのみ。最低限 の性能。
ZIP ヘッダの処理は独自実装。圧縮部分は標準APIを使用。
日本語 ファイル名はデフォルトでOSエンコーディングを使用。
TAR 独自実装。ustar形式のみ対応。
TAR+GZ TARと標準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