Java基础-压缩解压

Posted zhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础-压缩解压相关的知识,希望对你有一定的参考价值。

几种实现方案

#1.基于java.util.zip;

#2.使用zip4j

#3.使用org.apache.tools.ant

 

 

示例代码

测试代码

    <!-- Java zip > zip4j > apache ant -->

    /**

     * 方式1

     * -基于: java.util.zip

     * ---https://github.com/Blankj/androidUtilCode

     * ---https://github.com/SearchSunny/Android-zip-

     * summary:

     * ---#1.效率高,java.util.zip解压效率是zip4j的4倍

     * ---#2.支持.zip

     */

    public static void zipWithJava() {

        long startTime = System.currentTimeMillis();

        try {

            ZipUtils.unzipFile(zipFilePath, unzipFilePath);

        } catch (IOException e) {

            e.printStackTrace();

        }

        long endTime = System.currentTimeMillis();

        long costTime = endTime - startTime;

        System.out.print("Java zip: " + costTime + "ms" + "\\n");

    }

 

    /**

     * 方式2

     * -基于: zip4j

     * ---https://github.com/ghost1372/Mzip-Android

     * ---http://www.lingala.net/zip4j/

     * summary:

     * ---#1.解压效率比较低;

     * ---#2.支持.zip .rar;

     */

    public static void zipZip4j() {

        long startTime = System.currentTimeMillis();

 

        try {

            ZipArchive.unzip(zipFilePath, unzipFilePath, "");

        } catch (Exception e) {

            e.printStackTrace();

        }

        long endTime = System.currentTimeMillis();

        long costTime = endTime - startTime;

        System.out.print("Zip4j: " + costTime + "ms" + "\\n");

    }

 

    /**

     * 方式3

     * -基于: org.apache.tools.ant

     * ---http://ant.apache.org/bindownload.cgi

     * ---https://www.cnblogs.com/jecyhw/p/4531277.html

     * ---https://www.cnblogs.com/interdrp/p/6734033.html

     * summary:

     * ---#1.解压效率最低;

     * ---#2.支持.zip;

     */

    public static void zipApacheAnt() {

        long startTime = System.currentTimeMillis();

 

        try {

            AntZip.unzip(zipFilePath, unzipFilePath);

        } catch (Exception e) {

            e.printStackTrace();

        }

        long endTime = System.currentTimeMillis();

        long costTime = endTime - startTime;

        System.out.print("ApacheAnt: " + costTime + "ms" + "\\n");

    }

Source:

https://github.com/zhengoogle/Java-Common/tree/master/ZipLibrary

以上是关于Java基础-压缩解压的主要内容,如果未能解决你的问题,请参考以下文章

在java中,gzip 压缩和解压多个文件?

linux基础命令学习 压缩解压

Linux基础压缩和解压

Java实现zip压缩文件的解压

java压缩中文zip,系统winrar解压改中文zip会出现乱码

Java实现文件压缩与解压