2011-09-28 70 views
2

这是一个两部分问题,真的。Java ZipOutputStream仅限缩减某些文件/缩小过滤器

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

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

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

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

感谢

回答

2

是的,你可以用ZipOutputStream做到这一点。在每个文件(或者当你想改变它)之前,用Deflater的常量调用setLevel,你的情况为Deflater.NO_COMPRESSION。有关这方面的文件应该更清楚。

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

+0

大声笑 - 我应该只是谷歌搜索好一点。谢谢! – Scott