有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用java子文件夹压缩提取tgz

我有一个文件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) 个答案

  1. # 1 楼答案

    TarArchiveEntry#getFile做不到。相反,尝试使用TarArchiveInputStream读取数据:

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

    得到data后,就可以解析xml了