答案 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。