首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android解压缩zip的兑现

2012-07-01 
Android解压缩zip的实现android 解压缩zip包,需要在menifest.xml中加入sdcard读写权限,如下:uses-permiss

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();        }    }

热点排行