日期:2014-05-17  浏览次数:20806 次

ZipOutputStream如何转化为ServletOutputStream,求高手,万分感谢,在线等!
Java web项目,需要实现的功能是打包下载数据库里的一类文件,从数据库取出来的数据是byte[]类型的,然后需要把文件打包压缩,最后在客户端下载而且需要用ServletOutputStream.write(byte[] bs)输出,我是用ZipOutputStream实现打包的,现在问题是ZipOutputStream如何转化为ServletOutputStream,求高手,万分感谢,在线等!
------解决方案--------------------
ZipOutputStream转成ByteArrayOutputStream,然后把ByteArrayOutputStream(bais)写到ServletOutputStream:
ServletOutputStream sos = this.getResponse().getOutputStream();
while ((bytesRead = bais.read(buffer, 0, 8092)) != -1) {
sos.write(buffer, 0, bytesRead);
}
------解决方案--------------------
 IOUtils.copy(origin, zos);