[英]java: Flush stream while creating zip file
我在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输出流。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.