Zip文件基于InputStreams

时间:2011-09-07 13:48:35

标签: java zip inputstream

2 个答案:

答案 0 :(得分:1)

我认为您的建议Map<String, InputStream>是一个很好的解决方案。

只是旁注:记得在完成后关闭输入流


如果你想让它更加“fancy”,你可以随时使用创建界面:

interface ZipOuputInterface {
    String getName();
    InputStream getInputStream();
}

并且在不同情况下以不同的方式实现它,例如File:

class FileZipOutputInterface implements ZipOutputInterface {

    File file;

    public FileZipOutputInterface(File file) {
        this.file = file;
    }

    public String getName() {
        return file.getAbstractName();
    }
    public InputStream getInputStream() {
        return new FileInputStream(file);
    }
}

答案 1 :(得分:1)

我认为地图很好。如果您希望保留ZIP中文件的原始顺序,请注意您正在使用的地图类型。在这种情况下,使用LinkedHashMap。