当前位置: 代码迷 >> Android >> Android解压缩zip的兑现
  详细解决方案

Android解压缩zip的兑现

热度:31   发布时间:2016-05-01 20:05:05.0
Android解压缩zip的实现
android 解压缩zip包,需要在menifest.xml中加入sdcard读写权限,如下:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

实现代码:
    /**
     * 解压缩文件到指定的目录.
     *
     * @param unZipfileName 需要解压缩的文件
     * @param mDestPath 解压缩后存放的路径
     */
 public static void unZip(String unZipfileName, String mDestPath) {        if (!mDestPath.endsWith("/")) {            mDestPath = mDestPath + "/";        }        FileOutputStream fileOut = null;        ZipInputStream zipIn = null;        ZipEntry zipEntry = null;        File file = null;        int readedBytes = 0;        byte buf[] = new byte[4096];        try {            zipIn = new ZipInputStream(new BufferedInputStream(new FileInputStream(unZipfileName)));            while ((zipEntry = zipIn.getNextEntry()) != null) {                file = new File(mDestPath + zipEntry.getName());                if (zipEntry.isDirectory()) {                    file.mkdirs();                } else {                    // 如果指定文件的目录不存在,则创建之.                    File parent = file.getParentFile();                    if (!parent.exists()) {                        parent.mkdirs();                    }                    fileOut = new FileOutputStream(file);                    while ((readedBytes = zipIn.read(buf)) > 0) {                        fileOut.write(buf, 0, readedBytes);                    }                    fileOut.close();                }                zipIn.closeEntry();            }        } catch (IOException ioe) {            ioe.printStackTrace();        }    }
  相关解决方案