2011-09-28 58 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