繁体   English   中英

java:创建zip文件时刷新流

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM