/** 緩沖 */
static final byte[] buffer = new byte[2048];
// 來源
File inputDir = new File(request.getServletContext()
.getRealPath(Constant.getUploadPath()));
if (null != inputDir.listFiles()) {
// 壓縮
zip(inputDir.listFiles(), "", zip);
}
/**
* 壓縮ZIP
*
* @param files
* 多個文件
* @param baseFolder
* 壓縮到ZIP的父級目錄(目錄后面跟上File.separator)
* @param zos
* ZipOutputStream
* @throws Exception
*/
private static void zip(File[] files, String baseFolder, ZipOutputStream zos)
throws Exception {
// 輸入
FileInputStream fis = null;
// 條目
ZipEntry entry = null;
// 數(shù)目
int count = 0;
for (File file : files) {
if (file.isDirectory()) {
// 遞歸
zip(file.listFiles(), baseFolder + file.getName() + File.separator, zos);
continue;
}
entry = new ZipEntry(baseFolder + file.getName());
// 加入
zos.putNextEntry(entry);
fis = new FileInputStream(file);
// 讀取
while ((count = fis.read(buffer, 0, buffer.length)) != -1) {
// 寫入
zos.write(buffer, 0, count);
}
zos.closeEntry(); // 釋放資源
}
}
java中將一個文件夾下所有的文件壓縮成一個文件
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門漠嵌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盖呼,你說我怎么就攤上這事儒鹿。” “怎么了几晤?”我有些...
- 文/不壞的土叔 我叫張陵约炎,是天一觀的道長。 經(jīng)常有香客問我蟹瘾,道長圾浅,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任热芹,我火速辦了婚禮贱傀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘伊脓。我一直安慰自己府寒,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布报腔。 她就那樣靜靜地躺著株搔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纯蛾。 梳的紋絲不亂的頭發(fā)上纤房,一...
- 文/蒼蘭香墨 我猛地睜開眼芦圾,長吁一口氣:“原來是場噩夢啊……” “哼蛾派!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站弃酌,受9級特大地震影響氨菇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妓湘,卻給世界環(huán)境...
- 文/蒙蒙 一查蓉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧榜贴,春花似錦豌研、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驶拱,卻和暖如春霜浴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蓝纲。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- Java對Zip文件的支持不是很強大,有一些需要自己實現(xiàn)的代碼,我在網(wǎng)上找了很多代碼闯冷,都不能用于生產(chǎn)砂心,要不就是流沒...
- 移動端開發(fā)過程中祭衩,前端在請求后臺的數(shù)據(jù)時,為了用戶體驗更加完善阅签,通常需要分頁請求掐暮,在點擊展開時以往我常常喜歡...
- 《歡樂頌》播映過半路克,觀眾感慨人設(shè)崩壞劇情無味之際,首當(dāng)其沖在對曲筱綃的吐槽锥涕,究其原因衷戈,最初對她好玩有趣、真實...