3

这是一个两部分的问题,真的。

前言:我使用WinRAR压缩文件。它使您可以选择仅压缩某些文件。我可以按文件扩展名进行过滤,例如,JPEG 文件不被压缩,而其他文件则被压缩。

  1. 这可以通过一般的 ZIP 文件来完成,还是只是 WinRAR/RAR 格式的功能?

  2. 如果可以使用 ZIP 格式,有没有办法使用 Java 的ZipOutputStream类来做到这一点?或者,也许使用其他一些 ZIP Java 实现?

为了澄清,我想告诉我的 ZipOutputStream 只压缩具有特定扩展名的文件。这可能吗?

谢谢

4

2 回答 2

3

是的,您可以使用ZipOutputStream. 在每个文件之前(或当您想要更改它时)setLevel使用常量 from调用Deflater,在您的情况下为Deflater.NO_COMPRESSION. 这方面的文档应该更清楚。

您可以轻松地创建一个ZipOutputStream覆盖的子类putNextEntry来处理此逻辑。

于 2011-09-28T05:02:02.510 回答
1

ZipOutputStream 有方法来控制后续条目是否要压缩,以及压缩级别

这也可以在 ZipEntry 级别(优先级)上指定。

于 2011-09-28T05:02:13.710 回答