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

来源:互联网 发布:java订单管理系统 编辑:程序博客网 时间:2024/05/17 09:10
/**     * 解压目标文件     * @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();}}}}

0 0
原创粉丝点击