Android上实现zip解压缩
来源:互联网 发布:安装双系统xp和linux 编辑:程序博客网 时间:2024/05/17 10:06
1. 已byte[]方式处理解压的数据,返回byte[]。
- public byte[] getZipData(byte[] sourcesByte) {
- // Decompress the bytes // 开始解压,
- // 数组长度不够将导致丢失部分数据
- int dataLength = 1024*1024; // 对byte[]进行解压,同时可以要解压的数据包中的某一段数据,就好像从zip中解压出某一个文件一样。
- byte[] result = new byte[dataLength];
- try {
- Inflater decompresser = new Inflater();
- decompresser.setInput(sourcesByte, 0, sourcesByte.length);
- int resultLength = decompresser.inflate(result); // 返回的是解压后的的数据包大小,
- decompresser.end();
- } catch(Exception ex) {}
- return result;
- }
2. 以流的方式处理解压的数据
public byte[] getZipData(byte[] sourcesByte) {
Inflater decompresser = new Inflater();decompresser.setInput(sourcesByte, 0, sourcesByte.length);byte[] zipPostData = decompress(sourcesByte);decompresser.end();return zipPostData;
}
private 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[1024]; while (true) { c = iis.read(buf); if (c == -1){ break; } baos.write(buf, 0, c); } baos.flush(); baos.close(); bais.close(); iis.close(); return baos.toByteArray();}
0 0
- Android上实现zip解压缩
- Android解压缩zip的实现
- C++ 实现zip解压缩
- android 解压缩zip
- Android Zip压缩解压缩
- Android Zip压缩解压缩
- Android Zip压缩解压缩
- Android Zip压缩解压缩
- Android中的Zip解压缩
- android 解压缩zip包
- Android平台中实现Zip文件的解压缩功能
- Android中用Java代码实现zip文件解压缩
- Android中用Java代码实现zip文件解压缩(二)
- Android解压缩ZIP / GZIP数据(基于InflaterInputStream实现)
- Android中用Java代码实现zip文件解压缩
- Java实现zip压缩/解压缩
- Java实现zip压缩/解压缩
- java实现zip压缩/解压缩
- Android Volley完全解析(三),定制自己的Request
- UIView的放大动画
- hdu 2544
- IOS界面适配二: Auto Layout的使用(上)
- linux 中断底半部之tasklet分析
- Android上实现zip解压缩
- 项目图片
- iOS LaunchScreen设置启动图片并且设置启动页停留时间
- Android 开源项目第三篇——优秀项目篇
- cntk安装预先需要
- 【MySql-多表联合查询分页存储过程】
- vi全局替换方法
- Android的权限声明
- iOS6与iOS7屏幕适配技巧 (2014-06-25 14:21:50)