如何在 Java 中创建 Zip 文件?

2025 年 3 月 26 日 | 阅读 5 分钟

在Java中,处理zip文件与处理Word文件或文本文件不同。在zip文件的上下文中,Java提供了不同的方法来创建zip文件、压缩文件或存档文件。在本节中,我们将学习如何在Java中创建zip文件

创建zip文件所需的类和接口定义在java.util.zip包中。该包不仅提供ZIP格式的类,还提供GZIP格式的类。该包还提供从zip文件读取和写入zip文件的类。

How to Create Zip File in Java

使用java.util.Zip包

在创建Java程序之前,我们首先需要下载Apache common compress JAR文件。现在创建一个Java项目并将此JAR文件添加到项目中。复制以下Java程序并将其粘贴到您创建的类文件中。

CreateZipFile1.java

让我们编译并运行上面的程序。

输出

How to Create Zip File in Java

我们观察到已创建了一个指定名称的zip文件。让我们打开zip文件并查看指定文件是否已添加到zip文件中。

How to Create Zip File in Java

压缩多个文件

ZippingMultipleFiles.java

输出

How to Create Zip File in Java

压缩目录

创建目录的zip文件与上述方法略有不同。Java提供了两种压缩目录的方法

  • 使用Files.walkFileTree()方法
  • 从文件夹中读取所有文件并将这些文件添加到列表中,然后执行压缩。

使用Files.walkFileTree()

  • 从Java 7开始引入walkFileTree()方法。它定义在nio.file包中的Files类中。它用于递归压缩文件。它使代码简短而简单。该方法遍历文件树。

语法

它接受两个参数

start: 表示起始文件。

visitor: 要调用的文件访问器。

FileVisitor是一个接口,作为方法的参数。要遍历文件树,我们需要实现FileVisitor接口。它指定了遍历过程中关键点的所需行为,这些行为是

  • 当访问文件时
  • 在访问目录之前
  • 在访问目录之后
  • 当发生故障时

让我们实现为目录创建zip文件的逻辑。

ZippingDirectory.java

输出

How to Create Zip File in Java