我有在servlet中创建zip文件的代码,如下所示:
ByteArrayOutputStream baos =null;
baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
for(list of file){
bis = new BufferedInputStream(new FileInputStream(("somefile.extn"));
other code for add entry in zip file
bis.close();
}
baos.flush();
zos.flush();
zos.close();
baos.close();
// Return bytes
baos.toByteArray();
// Write bytes to ServletOutputStream
如果我刷新并关闭
ByteArrayOutputStream
对象(baos
),是否有任何问题。谢谢你在这里看:)
最佳答案
这是多余的。所有你需要的是
zos.close();
关闭
ZipOutputStream
会刷新并关闭它所包裹的所有其他流。请参阅Javadoc。您甚至不需要
ByteArrayOutputStream.
您应该将ZipOutputStream
直接连接到servlet输出流。关于java - java:创建zip文件时刷新流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29943304/