欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 解压方法详情

程序员文章站 2022-06-22 18:50:02
Android 解压方法详情 /** * 解压缩 * 将zipFile文件解压到folderPath目录下. * @param assetName zip文件...

Android 解压方法详情

/**
 * 解压缩
 * 将zipFile文件解压到folderPath目录下.
 * @param assetName zip文件
 * @param folderPath 解压到的地址
 * @throws IOException
 */
private void upZipFile(String assetName, String folderPath) throws IOException {
    File out=new File(folderPath);
    if(!out.exists()){
        out.mkdirs();
    }

    File zipFile=new File(assetName);
    ZipFile zfile = new ZipFile(zipFile);
    Enumeration zList = zfile.entries();
    ZipEntry ze = null;
    byte[] buf = new byte[1024];
    while (zList.hasMoreElements()) {
        ze = (ZipEntry) zList.nextElement();
        if (ze.isDirectory()) {
            String dirstr = folderPath + ze.getName();
            dirstr = new String(dirstr.getBytes("8859_1"), "GB2312");
            File f = new File(dirstr);
            f.mkdirs();
            continue;
        }
        OutputStream os = new BufferedOutputStream(new FileOutputStream(getRealFileName(folderPath, ze.getName())));
        InputStream is = new BufferedInputStream(zfile.getInputStream(ze));
        int readLen = 0;
        while ((readLen = is.read(buf, 0, 1024)) != -1) {
            os.write(buf, 0, readLen);
        }
        is.close();
        os.close();
    }
    zfile.close();
}