使用 apache.commons.compress.archivers.zip 读取远程 zip 文件

问题描述

我正在尝试读取远程 zip 文件(使用 IONIC vendor 创建),但我需要使用 apache.commons.compress.archivers.zip 才能仅使用 java 实现它。

我已经尝试使用 java.util.zip ZipInputStream 但没有成功(对于常规 zip 文件它有效,但不适用于 IONIC zip files)。

我试过的代码

  public static String read(String zipPath,String partOfFileName) throws IOException {
    URL url = new URL(zipPath);
    InputStream in = new BufferedInputStream(url.openStream(),1024);
    ZipInputStream stream = new ZipInputStream(in);
    ZipEntry entry;

    while ((entry = stream.getNextEntry()) != null) {
            if (FilenameUtils.getName(entry.getName()).contains(partOfFileName)) {
                StringBuilder out = getTxtFiles(stream);
                return out.toString();
            }
    }

    return zipPath;
}

private static StringBuilder getTxtFiles(InputStream in) {
    StringBuilder out = new StringBuilder();
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    String line;
    try {
        while ((line = reader.readLine()) != null) {
            out.append(line);
        }
    } catch (IOException e) {
        e.printstacktrace();
    }
    return out;
  }
}

任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)