2011-03-16 29 views
3

圧縮tarファイルの内容を解凍せずにJavaでリストするにはどうすればよいですか?私はapache ant apiを見ましたが、どのようにファイルを抽出するのか分かりましたが、リストするだけでは解決できません。 tarファイルはbz2またはgzです。圧縮tarファイルの内容をJavaで表示する方法

答えて

4

TrueZIPをお勧めします。それはです。本当にです。

TrueZIPは、仮想ファイルシステム用のフレームワークであり、あたかもあたかも古い古いディレクトリであるかのようにアーカイブファイルにアクセスするためのライブラリです。

フレームワークとして、TrueZIPはフェデレーションファイルシステム空間にプラグインするファイルシステムドライバを書き込むためのインターフェイスとクラスを提供します。

TrueZIPはライブラリとして、ファイルシステムパス内の単純な古いディレクトリであるかのように、アーカイブファイルに対する便利なマルチスレッド読み書きアクセスを提供します。

優れた高速ライブラリです。それはTAR driverscan handle *.tar.gz and *.tar.bz2 filesです。 JavaDocは完全ではありませんが、私はスタンドアロンのチュートリアルが不十分であることを発見しました.JavaDocを読んで、機能させる必要がありました。

...私が見つけた唯一の欠点に私をもたらします:あなたの頭をTrueZIPの周りに包むのに少し時間がかかるかもしれません。当初、何か問題がありましたが、しばらくしてから "クリック"してしまったので、それ以上の問題はありませんでした。

+0

ありがとう、私はそれを試して、それはほとんどの部分で動作しますが、例外をスローしたり間違った結果を与えるような特定のtarファイルがあります。すなわち、最初のエントリとしてディレクトリを含み、末尾にスラッシュを含まないtarファイル。 – Wayne

+0

リンクが死んでいます。 –

+0

@ImpulseTheFoxはヘッドアップに感謝します。私はリンクを修正しましたが、いつでもあなた自身で編集を提案することができます:) –

0
TarArchiveInputStream tin = new TarArchiveInputStream(new FileInputStream(tempFile)); 
ArchiveEntry entry = tin.getNextEntry(); 
while (entry != null) { 
    System.out.println("File Name " + entry.getName());//List file name  
} 
関連する問題