无法获取Java .tar文件中的文件列表

问题描述 投票:2回答:1

我正在尝试从tar文件内部返回文件名列表。我正在使用下面的代码,但是当它进入while循环时,它立即转到catch异常并显示“ java.io.IOException:检测到解析标头时出错”>

下面是我正在使用的代码。您能帮我弄清楚为什么这行不通吗?

public List<String> getFilesInTar(String filename) {
  List<String> foundFiles = Lists.newArrayList();
  String filePath = System.getProperty("user.home") + File.separator + "Downloads" + File.separator + filename;
  try {
      TarArchiveInputStream tarInput = new TarArchiveInputStream(new FileInputStream(filePath));
      TarArchiveEntry entry;
      while ((entry = tarInput.getNextTarEntry()) != null) {
          if (!entry.isDirectory()) {
              foundFiles.add(entry.getName());
          }
      }
      tarInput.close();
  } catch (IOException ex) {
      log.error(ex.getMessage());
  }
  return foundFiles;
}

我正在尝试从tar文件内部返回文件名列表。我正在使用下面的代码,但是当它进入while循环时,它立即转到catch异常并说“ java.io ....

java tar
1个回答
0
投票

您的文件不是tar文件。这是tar文件的压缩存档。

© www.soinside.com 2019 - 2024. All rights reserved.