专业的JAVA编程教程与资源

网站首页 > java教程 正文

100个Java工具类之74:压缩与解压利器类ZipUtils

temp10 2025-03-04 13:56:10 java教程 5 ℃ 0 评论

日常数据处理需求中,文件压缩与解压是必不可少,而ZipUtils就是一个非常实用的工具类,他拥有文件和文件夹的压缩及解压功能。并且支持将多个文件和目录压缩为一个ZIP文件,并从ZIP文件中解压文件。


100个Java工具类之74:压缩与解压利器类ZipUtils


ZipUtils的主要方法

  1. 压缩单个文件
String sourceFilePath = "D:/java/file.txt";
        String zipFilePath = "D:/java/file.zip";
        ZipUtils.zip(sourceFilePath, zipFilePath);
        System.out.println("文件压缩成功!");



  1. 压缩目录
String sourceDirPath = "D:/java/directory";
        String zipFilePath = "D:/java/directory.zip";
        ZipUtils.zip(sourceDirPath, zipFilePath);
        System.out.println("目录压缩成功!");
  1. 解压ZIP文件
String zipFilePath = "D:/java/file.zip";
        String destDirPath = "D:/java/directory";
        ZipUtils.unzip(zipFilePath, destDirPath);
        System.out.println("ZIP文件解压成功!");



  1. 压缩多个文件到一个ZIP文件
List filesToZip = Arrays.asList(
            new File("D:java/file1.txt"),
            new File("D:java/file2.jpg"),
            new File("D:java/file3.docx")
        );
        String zipFilePath = "D:java/files.zip";
        ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFilePath));
        for (File file : filesToZip) {
            zos.putNextEntry(new ZipEntry(file.getName()));
            FileInputStream fis = new FileInputStream(file);
            byte[] buffer = new byte[1024];
            int len;
            while ((len = fis.read(buffer)) != -1) {
                zos.write(buffer, 0, len);
            }
            zos.closeEntry();
            fis.close();
        }
        zos.close();
        System.out.println("多个文件压缩成功!");

ZipUtils通过提供易于使用的API和递归处理文件夹内所有文件的能力,无论单个压缩文件、目录,批量处理多个文件到一个ZIP文件,还是解压ZIP文件到指定目录,ZipUtils都能轻松应对。


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表