如何解压assets目录下的压缩包文件

/**
     * 解压目标文件
     * @param context
     * @param destDirName 存放解压文件的目录名,默认路径为data/data/packagename/app_destDirName
     * @param fileName
     */
    public static void UnZipFile(Context context,String destDirName,String fileName) {
		File zipfileDir = context.getDir(destDirName, Activity.MODE_PRIVATE);
		InputStream stream = null;
		ZipInputStream inZip = null;
		try {
			//将Assets文件夹下面的压缩包,转换成字节读取流
			stream = context.getAssets().open(fileName);
			//将字节读取流转成zip读取流
			inZip = new ZipInputStream(stream);
			//压缩文件实体
			ZipEntry zipEntry;
			//压缩文件实体中的文件名称
			String szName = "";
			while ((zipEntry = inZip.getNextEntry()) != null) {
				szName = zipEntry.getName();
				if (zipEntry.isDirectory()) {
					//zipEntry是目录,则创建目录
					szName = szName.substring(0, szName.length() - 1);
					File folder = new File(zipfileDir, szName);
					folder.mkdirs();
				} else {
					//否则创建文件,并输出文件的内容
					File file = new File(zipfileDir, szName);
					file.createNewFile();
					FileOutputStream out = new FileOutputStream(file);
					int len;
					byte[] buffer = new byte[1024];
					while ((len = inZip.read(buffer)) != -1) {
						out.write(buffer, 0, len);
						out.flush();
					}
					out.close();
				}
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (inZip != null) {
				try {
					inZip.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值