解压缩文件 - 路径

时间:2012-12-04 10:12:25

标签: java zip zipfile

我试图用Java解压缩文件并将所有内容添加到数组列表而不是写入磁盘。我遇到的问题是我将某个路径传递给zip文件,然后当它读取zip文件并将文件添加到列表中时 - 当我来处理文件时,他们在我的项目目录中有奇怪的路径不存在。

有人可以帮我吗?     public void processZipFile(String path){

    File file = new File(path);
    file.setReadable(true);
    ZipFile zip;
    ArrayList<File> files = new ArrayList<File>();
    try {
        zip = new ZipFile(file);
        Enumeration<ZipEntry> entries = (Enumeration<ZipEntry>) zip
                .entries();
        while (entries.hasMoreElements()) {
            ZipEntry entry = entries.nextElement();
            File f = new java.io.File(entry.getName());
            allFiles.add(f);
        }
    } catch (ZipException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:0)

AFAIK,您的entry.getName()将不会返回可用于打开文件的任何有用信息。请记住,这只是一个zip条目而不是物理文件。 我建议你使用zipFile.getInputStream为你的数组中的每个条目存储inputStreams,然后从输入流中提取你的内容,最后当它们对你没用时关闭它们。