java 如何高速解压缩

2025-10-25 19:14:02

1、 /**

     * 递归压缩文件夹

     * @param srcRootDir 压缩文件夹根目录的子路径

     * @param file 当前递归压缩的文件或目录对象

     * @param zos 压缩文件存储对象

     * @throws Exception

     */

    private static void zip(String srcRootDir, File file, ZipOutputStream zos) throws Exception

    {

        if (file == null) 

        {

            return;

        }              

         

   

java 如何高速解压缩

2、     //如果是文件,则直接压缩该文件

        if (file.isFile())

        {          

            int count, bufferLen = 1024;

            byte data[] = new byte[bufferLen];

             

            //获取文件相对于压缩文件夹根目录的子路径

            String subPath = file.getAbsolutePath();

            int index = subPath.indexOf(srcRootDir);

            if (index != -1) 

            {

                

java 如何高速解压缩

3、subPath = subPath.substring(srcRootDir.length() + File.separator.length());

            }

            ZipEntry entry = new ZipEntry(subPath);

            zos.putNextEntry(entry);

            BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));

            while ((count = bis.read(data, 0, bufferLen)) != -1) 

            {

                zos.write(data, 0, count);

            }

            bis.close();

            zos.closeEntry();

        }

        //如果是目录,则压缩整个目录

        else 

        {

         

java 如何高速解压缩

4、   //压缩目录中的文件或子目录

            File[] childFileList = file.listFiles();

            for (int n=0; n<childFileList.length; n++)

            {

                childFileList[n].getAbsolutePath().indexOf(file.getAbsolutePath());

                zip(srcRootDir, childFileList[n], zos);

            }

        }

    }

     

    /**

     * 对文件或文件目录进行压缩

     * @param srcPath 要压缩的源文件路径。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径

     * @param zipPath 压缩文件保存的路径。注意:zipPath不能是srcPath路径下的子文件夹

     * @param zipFileName 压缩文件名

     * @throws Exception

     */

  

java 如何高速解压缩

5、  public static void zip(String srcPath, String zipPath, String zipFileName) throws Exception

    {

        if (StringUtils.isEmpty(srcPath) || StringUtils.isEmpty(zipPath) || StringUtils.isEmpty(zipFileName))

        {

            throw new ParameterException(ICommonResultCode.PARAMETER_IS_NULL);

        }

        CheckedOutputStream cos = null;

        ZipOutputStream zos = null;                     

        try

        {

            File srcFile = new File(srcPath);

             

     

java 如何高速解压缩

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢