解压从URL下载的gz文件时发生错误。 java.util.zip.ZipException:无效代码 :
gz文件保存在db表中,然后释放。 开发服务器上没有发生与解压缩相关的错误,但在操作部署期间发生了这些错误。 请给我关于何时发生此错误以及我应该检查什么的建议..
解压源码如下
public decompress(byte[] value) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
GZIPInputStream gzipInStream = new GZIPInputStream(
new BufferedInputStream(new ByteArrayInputStream(value)));
int size = 0;
byte[] buffer = new byte[1024];
while ( (size = gzipInStream.read(buffer)) > 0 ) {
outStream.write(buffer, 0, size);
}
outStream.flush();
outStream.close();
return outStream.toByteArray();
}
当数据在传输过程中损坏时,就会发生这种情况。该传输可能包括在 Windows 上简单地读取数据,而不指定二进制模式。