设为首页 加入收藏

TOP

Android解压缩ZIP / GZIP数据(基于InflaterInputStream实现)
2015-02-25 16:14:25 来源: 作者: 【 】 浏览:31
Tags:Android 压缩 ZIP GZIP 数据 基于 InflaterInputStream 实现

在实际的项目代码使用过程中,发现如果用Java类库标准指定的GZIPInputStream读取压缩数据解压不能稳定工作,原因不明。反而使用InflaterInputStream可以替代GZIPInputStream稳定、正常工作,现在把基于InflaterInputStream的zip\gzip解压代码工具方法给出:


public static byte[] decompress(byte[] compress) throws Exception {
? ByteArrayInputStream bais = new ByteArrayInputStream(compress);
? InflaterInputStream iis = new InflaterInputStream(bais);


? ByteArrayOutputStream baos = new ByteArrayOutputStream();


? int c = 0;
? byte[] buf = new byte[BUFFER_SIZE];
? while (true) {
? ?c = iis.read(buf);


? ?if (c == EOF)
? ? break;


? ?baos.write(buf, 0, c);
? }


? baos.flush();


? return baos.toByteArray();
?}


其中,EOF = -1,BUFFER_SIZE值可以根据自身的项目定制。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android判断设备是否打开WIFI、GP.. 下一篇Android获取App版本号和版本名

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: