我正在尝试从.net中间件解压缩响应。响应已使用GZipStream进行了划分。
GZipStream zipStream = new GZipStream(fileStream, CompressionMode.Compress, true);
当我在java中使用GZIPInputStream来解压缩文件时。我在下面的代码中收到带有“not in zip format”消息的IOException。
GZIPInputStream gzin = new GZIPInputStream(response);
我也试过了。
ByteArrayInputStream memstream = new ByteArrayInputStream(buffer2);
GZIPInputStream gzin = new GZIPInputStream(memstream);
欢迎任何帮助或建议。 提前致谢
答案 0 :(得分:0)
尝试这样的事情
GZIPInputStream gis = null;
FileOutputStream fos = null;
try {
gis = new GZIPInputStream(new FileInputStream("pathOfTheGZipFile"));
fos = new FileOutputStream("pathOfDecompressedFile");
byte[] buffer = new byte[gis.available()];
int len;
while((len = gis.read(buffer)) != -1){
fos.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
finally {
fos.close();
gis.close();
}
答案 1 :(得分:0)
我终于找到了解决方案,在服务器返回的响应中,前几个字节没有压缩,所以如果任何一个面临同样的问题,你只需要检查字节。从响应中删除这些字节后。它开始运作了。