虽然我观察到通常文件夹中的文件在一个例外情况下在 tar.gz 存档中按顺序列出,但我发现它以随机方式列出。例如,假设有 a、b 和 c 三个文件夹,每个文件夹包含 1、2、3 文件。在通常情况下,存档条目将列在 a/1、a/2、a/3、b/1、b/2、b/3、c/1、c/2、c/3 中,但在此情况类似于 b/2, a/1, b/4, ... 为什么会发生这种情况?我使用第一个组织假设来读取 .tar.gz 存档文件并在文件夹级别对内部数据进行一些处理。无需每次都遍历整个档案并生成父/子结构,如果我可以为此类情况对文件夹列表进行内联排序,则无需任何想法。下面的示例代码:
TarArchiveInputStream tis = new TarArchiveInputStream("a.tar");
while(tis.getNextTarEntry()!=null)
System.out.println(tis.getCurrentEntry().getName() );
我找不到任何可以给我这样一个内联排序列表的 API。如果有人在这里帮助我,那将非常有帮助。我被这个案子困住了。