天天看點

java生成zip壓縮檔案

jdk自身有zip相關的代碼,不過直到1.6的版本沒有提供設定字元集的接口,是以都會出現中文亂碼,目前網上的方案大多需要引入ant包進行處理:

然而,1.7已經修複了這個問題

在jdk7中的java.util.zip.ZipOutputStream新增了這樣一個構造方法:

這就為我們設定字元集提供了接口

這樣一來兩個方法基本來說可以算是等效了,後面的新增檔案方法都相同的

給一個使用jdk自帶ZipOutputStream的直接取得zip檔案位元組數組的方案

引入了兩個commons包,給出Maven Dependency

測試:

注意這個案例因為要把zip壓縮檔案整體讀入記憶體是以如果壓的檔案體積太大就會......