如何在Java中列出压缩tar文件的内容

时间:2011-03-16 01:50:33

标签: java tar

如何在不提取文件的情况下在Java中列出压缩tar文件的内容?我看过apache ant api,我可以看到如何提取文件,但我无法弄清楚如何只列出它们。 tar文件是bz2或gz。

2 个答案:

答案 0 :(得分:4)

我建议使用TrueZIP。它真的好。

  

TrueZIP是一个虚拟文件系统框架和一个用于访问存档文件的库,就像它们只是普通的旧目录一样。

     

作为一个框架,TrueZIP提供了接口和类来编写插件到其联合文件系统空间的文件系统驱动程序。

     

作为一个库,TrueZIP为归档文件提供了方便的多线程读/写访问,就好像它们只是文件系统路径中的普通旧目录一样。

这是一个优秀,快速的图书馆。它有TAR driverscan handle *.tar.gz and *.tar.bz2 files。 JavaDocs是清晰和完整的,虽然我发现独立的教程不够 - 我必须阅读JavaDoc以使工作正常。

...这让我找到了我发现的唯一缺点:可能需要一段时间来绕过TrueZIP。最初,我遇到了一些问题,但是在一段时间后它“点击”了,我没有遇到任何困难。

答案 1 :(得分: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      
}