java 解压assets文件_解压assets中的zip压缩文件到指定目录 | 学步园

这篇博客介绍了如何使用Java在Android应用中从Assets目录读取ZIP压缩文件并将其解压到指定的目录。提供了一个名为`unzip`的函数,该函数接收输入流和目标目录作为参数,并通过`ZipInputStream`遍历和解压每个条目。调用示例展示了如何在主线程之外执行解压操作。注意, APK在安装时无法创建自定义文件夹,且无法获取资源文件的绝对路径,必须先创建目标路径才能解压。
摘要由CSDN通过智能技术生成

解压函数:

/**

* 解压assert中的文件到指定目录

* @param is文件输入流

* @param dir目标路径(路径已存在)

* @throws IOException

*/

private void unzip (InputStream is, String dir) throws IOException

{

File dest = new File(dir);

if ( !dest.isDirectory())

throw new IOException("Invalid Unzip destination " + dest);

if(null == is){

throw new IOException("InputStream is null");

}

ZipInputStream zip = new ZipInputStream(is);

ZipEntry ze;

while ( (ze = zip.getNextEntry()) != null ) {

final String path = dest.getAbsolutePath()

+ File.separator + ze.getName();

// Create any entry folders

String zeName = ze.getName();

char cTail = zeName.charAt(zeName.length() - 1);

if ( cTail ==

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值