读书人

Android解压缩zip的兑现

发布时间: 2012-07-01 13:15:00 作者: rapoo

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

读书人网 >Android

热点推荐