JavaWeb實(shí)現(xiàn)壓縮多個(gè)文件并下載實(shí)例詳解
下面一段代碼給大家分享JavaWeb實(shí)現(xiàn)壓縮多個(gè)文件并下載功能,具體代碼如下所示:
//文件名稱
String[] names={"one.jpg","two.jpg","three.jpg","four.jpg"};
//四個(gè)文件流
FileInputStream input1 = new FileInputStream(new File("文件路徑"));
FileInputStream input2 = new FileInputStream(new File("文件路徑"));
FileInputStream input3 = new FileInputStream(new File("文件路徑"));
FileInputStream input4 = new FileInputStream(new File("文件路徑"));
FileInputStream[] inputs={input1,input2,input3,input4};
//ZIP打包圖片
File zipFile = new File("壓縮文件存放路徑");
byte[] buf = new byte[1024];
int len;
ZipOutputStream zout=new ZipOutputStream(new FileOutputStream(zipFile));
for (int i = 0; i < inputs.length; i++) {
FileInputStream in =inputs[i];
zout.putNextEntry(new ZipEntry(names[i]));
while ((len = in.read(buf)) > 0) {
zout.write(buf, 0, len);
}
zout.closeEntry();
in.close();
}
zout.close();
//下載圖片
FileInputStream zipInput =new FileInputStream(zipFile);
OutputStream out = response.getOutputStream();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=images.zip");
while ((len=zipInput.read(buf))!= -1){
out.write(buf,0,len);
}
zipInput.close();
out.flush();
out.close();
//刪除壓縮包
zipFile.delete();
總結(jié)
以上所述是小編給大家介紹的JavaWeb實(shí)現(xiàn)壓縮多個(gè)文件并下載實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Java實(shí)現(xiàn)漢字轉(zhuǎn)全拼音的方法總結(jié)
在軟件開發(fā)中,經(jīng)常會(huì)遇到需要將漢字轉(zhuǎn)換成拼音的場(chǎng)景,比如在搜索引擎優(yōu)化、數(shù)據(jù)存儲(chǔ)、國(guó)際化等方面,Java作為一種廣泛使用的編程語(yǔ)言,提供了多種方法來(lái)實(shí)現(xiàn)漢字到拼音的轉(zhuǎn)換,本文將詳細(xì)介紹幾種常用的Java漢字轉(zhuǎn)全拼音的方法,并提供具體的代碼示例和步驟2024-12-12
javaweb 實(shí)現(xiàn)文件下載的方法及實(shí)例代碼
這篇文章主要介紹了javaweb 實(shí)現(xiàn)文件下載的方法的相關(guān)資料,這里提供了實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-11-11
JavaWeb入門教程之分頁(yè)查詢功能的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了JavaWeb入門教程之分頁(yè)查詢功能的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Java實(shí)戰(zhàn)角色權(quán)限后臺(tái)腳手架系統(tǒng)的實(shí)現(xiàn)流程
只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+Maven+myBaits-Plus+Vue+Element-UI+Mysql實(shí)現(xiàn)一個(gè)角色權(quán)限后臺(tái)腳手架系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2022-01-01
Java實(shí)現(xiàn)ModbusTCP通信功能
使用ModbusTCP實(shí)現(xiàn)和硬件設(shè)備通信功能,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08

