使用
ZipArchiveInputStream zipInputStream = new ZipArchiveInputStream(file.getInputStream(), "GBK")
不要使用
ZipInputStream
ZipInputStream 和 ZipArchiveInputStream 都是 Java 中用于处理 Zip 文件的类,但是它们之间有一些区别。
-
ZipInputStream 是 Java 标准库中提供的类,而 ZipArchiveInputStream 是 Apache Commons Compress 库中提供的类。
-
ZipInputStream 只能读取普通的 Zip 文件,而 ZipArchiveInputStream 支持读取多种压缩格式,包括 Zip、Gzip、Tar、Jar 等。
-
ZipArchiveInputStream 提供了更多的选项和功能,例如可以设置编码方式、支持密码保护的 Zip 文件等。
-
ZipArchiveInputStream 的性能比 ZipInputStream 更好,在处理大型 Zip 文件时表现更出色。
因此,如果需要处理多种压缩格式的文件或者需要更多的选项和功能,建议使用 ZipArchiveInputStream;如果只需要处理普通的 Zip 文件,可以使用 ZipInputStream。