android unzip 解压库合集

android 自带的zip:

  1. 解压效率很高,但是压缩文件不能超过2G,否则会解压失败

apache ant.zip 解压包

  1. 参考:http://www.manongjc.com/detail/22-xicvonaxveegetv.html
  2. 使用简单,解压效率一般(xapk解压的时候和系统zip比起来会慢很多)

AndroidUn7zip 第三方库

  1. 具体效率没测试,但是解压部分xapk的压缩格式会失败

推荐 zip4j 第三方库

  1. 和antzip解压对比效率高一点(3.7G的xapk文件,ant耗时3m50s,zip4j耗时3m30s)
  2. 支持解压密码,支持指定位置解压,功能齐全,可以参考git说明
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Common4Android是一个通用Android工具,包含网络、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合、高内聚,使用起来非常轻松。 -基类 ClassName Description BaseApplication.java Application基类,启动SDCard监听、网络状态监听。 BaseActiivty.java Activity基类,封装常用方法及Activity管理。 -管理器 ClassName Description ActivityManager.java Activity管理工具类,可以获得当前引用启动的Activity实例。 HotFixManager.java 热修复patch加载工具类。 LRUCache.java LRUCache。 ThreadPoolManager.java 应用线程池管理。 -网络处理 ClassName Description HttpTag.java Api接口配置类。 TaskManager.java 网络任务管理类。 HttpDataRequest.java 通用请求类。 HttpPostRequest.java Post请求类。 -工具类 ClassName Description AnimationUtil.java 动画效果工具类,提供缩放、透明度、位移、旋转动画方法。 AppInfoUtil.java 应用信息工具类,获取应用版本号、版本编码。 BitmapCacheUtil.java Bitmap缓存工具类,封装bitmap本地存储方法。 BitmapEffectUtil.java Bitmap特效实现类,封装bitmap特效实现方法,如:老照片、RGB偏移等。 BitmapUtil.java Bitmap常用工具类,Bitmap数据类型转换、圆角、缩放、倒影。 ConvertUtil.java 转换工具类,进行对象的类型转换。 DateUtil.java 日期工具类,日期转换生肖、日期转换星座、日期相互转换。 DesUtil.java DES加密工具类。 DeviceUtil.java 设备信息获取工具类,获得设备型号、设备生产厂商、屏幕尺寸、GPS状态、wifi状态等。 DialogUtil.java 弹窗工具类,ProgressDialog,AlertDialog,Toast弹出封装。 FileUtil.java 文件工具类,文件常用方法,获得文件大小、文件大小转换。 MD5Util.java MD5加密工具类。 RegexUtil.java 常用正则表达式工具类。 SDCardUtil.java SD卡信息管理工具类。 SharedPreferencesUtil.java SharedPreferences工具类。 StringUtil.java 字符串处理工具类。 SystemIntentUtil.java 系统Intent工具类,常用的系统Intent跳转函数,如:打电话、发短信等。 示例代码: - NetWork HttpDataRequest request = new HttpDataRequest(); request.setTag(HttpTag.TEST); request.setSort(Constants.REQUEST_METHOD_GET); request.setGzip(true); request.setRetry(false); request.setNeedAuth(false); TaskManager.startHttpDataRequset(request, new HttpDataResponse() {     @Override     public void onHttpRecvOK(HttpTag tag, Object extraInfo, Object result) {         DialogUtil.showToast(MainActivity.this, (String) result, Toast.LENGTH_LONG);     }     @Override     public void onHttpRecvError(HttpTag tag, HttpCode retCode, String msg) {         DialogUtil.showToast(MainActivity.this, "onHttpRecvError retCode:"   retCode   " msg:"   msg, Toast.LENGTH_LONG);     }     @Override     public void onHttpRecvCancelled(HttpTag tag) {         DialogUtil.showToast(MainActivity.this, "onHttpRecvCancelled", Toast.LENGTH_LONG);     } });
Android 平台上解压 ZIP 文件,你可以使用以下代码示例: ```java import android.util.Log; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class ZipUtils { private static final int BUFFER_SIZE = 4096; public static void unzip(String zipFilePath, String destDirectory) { try { File destDir = new File(destDirectory); if (!destDir.exists()) { destDir.mkdir(); } ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFilePath)); ZipEntry entry = zipIn.getNextEntry(); while (entry != null) { String filePath = destDirectory + File.separator + entry.getName(); if (!entry.isDirectory()) { extractFile(zipIn, filePath); } else { File dir = new File(filePath); dir.mkdir(); } zipIn.closeEntry(); entry = zipIn.getNextEntry(); } zipIn.close(); } catch (Exception e) { Log.e("ZipUtils", "Error while unzipping file: " + e.getMessage()); } } private static void extractFile(ZipInputStream zipIn, String filePath) { try { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath)); byte[] bytesIn = new byte[BUFFER_SIZE]; int read; while ((read = zipIn.read(bytesIn)) != -1) { bos.write(bytesIn, 0, read); } bos.close(); } catch (Exception e) { Log.e("ZipUtils", "Error while extracting file: " + e.getMessage()); } } } ``` 使用上述代码,你只需调用 `unzip` 方法,传入 ZIP 文件的路径和解压目标目录的路径即可。注意确保你的应用已经获取了文件读写权限。 示例用法: ```java String zipFilePath = "/path/to/your/zip/file.zip"; String destDirectory = "/path/to/your/destination/directory"; ZipUtils.unzip(zipFilePath, destDirectory); ``` 将上述路径替换为你实际的文件路径和目标目录路径。 希望对你有所帮助!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值