关于Inflater解压的问题

xuliduo 2005-11-22 05:46:24
偶现在一个项目……从C传了一个.zip文件的byte流到服务器,然后服务器进行解压,读里面的文件,出现了一个奇怪的问题……偶把流直接做成File,生成.zip文件,是可以用winrar打开的,但是,偶用Inflater进行解压,就会出现java.util.zip.DataFormatException: unknown compression method异常……跪求一解决办法……千万不要先生成.zip文件在读它……
————————————————————————————————————————————
代码段
//创建一个解压器,并设置解压器的需要解压的流为dataBody
Inflater decompressor = new Inflater();
decompressor.setInput(dataBody);
//创建一个可扩展的byte array用于保存解压数据
bos = new ByteArrayOutputStream(dataBody.length);
//解压数据
while (!decompressor.finished()) {
try {
int count = decompressor.inflate(buf);
bos.write(buf, 0, count);
} catch (DataFormatException e) {
error_code = "9002";
error_info = "解压失败";
System.out.println(e);
System.out.println(error_info);
break;
}
}
...全文
421 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjb82930 2005-11-23
  • 打赏
  • 举报
回复
顶你一下。。墓室鸟人
xuliduo 2005-11-23
  • 打赏
  • 举报
回复
难道就没人了吗?
xuliduo 2005-11-23
  • 打赏
  • 举报
回复
继续哭……
xuliduo 2005-11-22
  • 打赏
  • 举报
回复
恩~忘记了~~Inflater decompressor = new Inflater(true/flase);也试验过了……
异常照旧……哭了……
xuliduo 2005-11-22
  • 打赏
  • 举报
回复
PS:
int resultLength = decompresser.inflate(buf);
decompresser.end();
这样的写法偶也试过~仍然是java.util.zip.DataFormatException: unknown compression method

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧