Android Java如何解压缩标准ZIP包

来源:互联网 发布:apache ant 1.9.7.zip 编辑:程序博客网 时间:2024/06/15 15:10

Android Java如何解压缩标准ZIP包:

    /**     * 解压缩标准ZIP文件,耗时操作,建议放入异步线程     * @return The number of decoded files of ZIP.     */    public static int unZipStandard(String workingDir, String zipFilePath) {        int fileNumbers = 0;        try {            int BUFFER = 2048;            ZipFile zipFile = new ZipFile(zipFilePath);            Enumeration<? extends ZipEntry> emu = zipFile.entries();            while (emu.hasMoreElements()) {                ZipEntry entry = (ZipEntry) emu.nextElement();                if(entry.getName().contains("../"))                    continue;                if (entry.isDirectory()) {                    new File(workingDir + entry.getName()).mkdirs();                    continue;                }                BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry));                File file = new File(workingDir + entry.getName());                File parent = file.getParentFile();                if (parent != null && (!parent.exists())) {                    parent.mkdirs();                }                FileOutputStream fos = new FileOutputStream(file);                BufferedOutputStream bos = new BufferedOutputStream(fos, BUFFER);                int count;                byte data[] = new byte[BUFFER];                while ((count = bis.read(data, 0, BUFFER)) != -1) {                    bos.write(data, 0, count);                }                bos.flush();                bos.close();                bis.close();                fileNumbers++;            }            zipFile.close();        } catch (Exception e) {            e.printStackTrace();        }        return fileNumbers;    }


0 0
原创粉丝点击