android shell 解压zip,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 shell 解压zip,Android解压缩ZIP / GZIP数据(基于InflaterInputStream实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python案例——利用接口实现【自动抠
- 下一篇: Android解压缩