日期:2014-05-20  浏览次数:20791 次

请教JAVA 导出ZIP包 报(不可预料的压缩文件末端)
用如下方式,前台是用AJAX实现从服务器目录导出ZIP文件到客户端。服务器端的文件是没有问题的,导出到客户端就出现问题了。
byte[] buffer = new byte[2048];
while ((bis.read(buffer)) != -1) {
ou.write(buffer, 0, buffer.length);
}
  用RAR打开出现:不可预料的压缩文件末端。也不是每次都有,偶尔会出现这种情况。如果用RAR修复一下就是正常的了,请问哪位高手遇到过这种情况啊,跟new byte[2048] 没有关系吧?

------解决方案--------------------
这样写:
int len=0;
while ((line=bis.read(buffer)) != -1) {
ou.write(buffer, 0, line);
}

------解决方案--------------------
ou.write(buffer, 0, buffer.length);
最后一次会输出多余的字节