使用子文件夹java提取tgz

时间:2016-07-03 00:28:44

标签: java compression gzip tar

我有一个文件archive.tgz,它由几个存储xml文件的子文件夹组成。我想迭代所有文件并解析xml文件。文件目录的结构如下。

01/
    01.xml
    02.xml
02/
    03.xml

这是我尝试过的Java代码,但是当我尝试使用getFile方法时,该文件始终为零。我还尝试从其中一个条目中获取目录并从中获取子文件并从绝对路径获取文件。

    while ((entry = (TarArchiveEntry) tarIn.getNextEntry()) != null) {
        if (entry.isFile()) {
            entry.getFile();
            // Parse xml but this is null
        }
    }

1 个答案:

答案 0 :(得分:0)

TarArchiveEntry#getFile无法做到。相反,请尝试使用TarArchiveInputStream来读取数据:

byte[] data = new byte[(int) entry.getSize()];
tarIn.read(data);

获得data后,您可以解析xml。