Java ZipInputStream 教程显示了如何使用ZipInputStream
读取 Java 中的 ZIP 文件。
Java ZipInputStream
ZipInputStream
是 Java 类,实现用于读取 ZIP 文件格式的文件的输入流过滤器。 它支持压缩和未压缩的条目。
ZIP
ZIP 是一种存档文件格式,支持无损数据压缩。 一个 ZIP 文件可能包含一个或多个已压缩的文件或目录。 Java Archive(JAR)建立在 ZIP 格式上。
ZipInputStream
构造函数
ZipInputStream
具有以下构造函数:
ZipInputStream getNextEntry
ZipInputStream's
getNextEntry()
读取下一个 ZIP 文件条目,并将流定位在条目数据的开头。
Java 读取 ZIP 示例
下面的示例读取一个 ZIP 文件的内容。
JavaReadZip.java
该示例使用ZipInputStream
读取给定的 ZIP 文件,并将其内容打印到终端。 我们打印文件名,文件大小和最后修改时间。
ZIP 文件位于src/resources/
目录中。
我们从文件创建一个FileInputStream
。 FileInputStream
用于读取原始字节流。
为了获得更好的性能,我们将FileInputStream
传递到BufferedInputStream
中。
ZipInputStream
是从缓冲的FileInputStream
创建的。 当资源不再需要时,try-with-resources 将关闭流。
在 while 循环中,我们使用getNextEntry()
方法浏览 ZIP 文件的条目。 如果没有更多条目,则返回 null。
getName()
返回条目的名称,getSize()
返回条目的未压缩大小,getTime()
返回条目的最后修改时间。
这是一个示例输出。
Java 解压缩 ZIP 示例
在下一个示例中,我们用 Java 解压缩 ZIP 文件。
JavaUnzip.java
该示例使用ZipInputStream
读取给定 ZIP 文件的内容,并使用FileOutputStream
和BufferedOutputStream
将该内容写入目录。
这是我们提取 ZIP 文件内容的目录。
在第一个 while 循环中,我们浏览 ZIP 文件的条目。
在第二个 while 循环中,我们读取条目并将其写入输出流。
在本教程中,我们介绍了 Java ZipInputStream
类。