【发布时间】:2011-03-16 01:50:33
【问题描述】:
如何在 Java 中列出压缩的 tar 文件的内容而不提取文件?我看过 apache ant api,我可以看到如何提取文件,但我不知道如何列出它们。 tar 文件是 bz2 或 gz。
【问题讨论】:
如何在 Java 中列出压缩的 tar 文件的内容而不提取文件?我看过 apache ant api,我可以看到如何提取文件,但我不知道如何列出它们。 tar 文件是 bz2 或 gz。
【问题讨论】:
我建议使用TrueZIP。 真的很好。
TrueZIP 是一个用于虚拟文件系统的框架和一个用于访问存档文件的库,就好像它们只是普通的旧目录一样。
作为一个框架,TrueZIP 提供了接口和类来编写插入到其联合文件系统空间的文件系统驱动程序。
作为一个库,TrueZIP 为存档文件提供了方便的多线程读/写访问,就好像它们只是文件系统路径中的普通旧目录一样。
这是一个出色、快速的库。它有TAR drivers 和can handle *.tar.gz and *.tar.bz2 files。 JavaDocs 清晰而完整,尽管我发现独立的教程不够 - 我必须阅读 JavaDoc 才能使事情正常进行。
...这让我发现了我发现的唯一缺点:可能需要一点时间才能了解 TrueZIP。最初,我在让任何东西工作时都遇到了问题,但过了一会儿它“点击”了,我就没有更多困难了。
【讨论】:
TarArchiveInputStream tin = new TarArchiveInputStream(new FileInputStream(tempFile));
ArchiveEntry entry = tin.getNextEntry();
while (entry != null) {
System.out.println("File Name " + entry.getName());//List file name
entry = tin.getNextEntry();
}
【讨论】: