java.util.zip.DataFormatException: stream error

今天收到一个bug;是红米上用wifi在web端接收文件,web端输入ip地址时,红米崩溃;

然后查看崩溃日志:java.util.zip.DataFormatException: stream error;发现是在android

在网上查了查,就看到说是使用GZipUtils方法进行GZip压缩时android4.4.4手机上会报错

gos.finish();

gos.flush();

去掉其中一个;

不过试了一下还是崩溃,就在项目里找到用这个压缩方法的地方;

public void writeTo(OutputStream outstream) throws IOException {

if (outstream == null) {

throw new IllegalArgumentException("Output stream may not be null");

}

InputStream instream = new ByteArrayInputStream(this.byteArray);

if (!isGzipByteArray) {

outstream = new GZIPOutputStream(outstream);

}

try {

copy(instream, outstream);

} finally {

instream.close();

}

}

protected void copy(InputStream instream, OutputStream outstream) throws IOException {

byte[] tmp = new byte[Constants.Config.BUFFER_LENGTH];

int l;

while ((l = instream.read(tmp)) != -1) {

outstream.write(tmp, 0, l);

}

if (outstream instanceof GZIPOutputStream) {

//注意流关闭顺序

((GZIPOutputStream) outstream).flush();

}

//注意流关闭顺序

outstream.close();

}

然后在GzipUtils里面

public void gzip(InputStream from, OutputStream to) throws IOException {

GZIPOutputStream gos = new GZIPOutputStream(to);

int count;

byte[] buffer = new byte[Config.BUFFER_LENGTH];

while ((count = from.read(buffer)) != -1) {

gos.write(buffer, 0, count);

}

/**

* 只需要一个finish()即可,否则会造成stream err,崩溃

* @author subowen 2016-12-15

*/

gos.finish();

//        gos.flush();

}

这样就不崩溃了;哈哈 菜鸟一枚,也不确定主要是什么问题,不过解决了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,270评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,735评论 18 399
  • 一、概述 Java IO库中的流代表有能力产出数据的数据源对象或者是有能力接收数据的接收端对象,我们一般把它分成输...
    泽毛阅读 7,399评论 2 3
  • # 3.1 File # ## 3.1.1 File基本概念 ## 1.基本概念 -File类用于表示文件(目录)...
    闫子扬阅读 3,424评论 0 0
  • “那一天我二十一岁,在我一生的黄金时代,我有好多奢望。我想爱,想吃,还想在一瞬间变成天上半明半暗的云,后来...
    _aqu阅读 1,895评论 2 0

友情链接更多精彩内容