最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java壓縮多個(gè)文件并且返回流示例

 更新時(shí)間:2014年03月13日 15:55:14   作者:  
這篇文章主要介紹了java壓縮多個(gè)文件并且返回流示例,返回壓縮流主是為了在程序里再做其它操作,需要的朋友可以參考下

這個(gè)類可以壓縮多個(gè)文件并且返回流,在程序中可以再操作返回的流做其它功能,比如驗(yàn)證MD5,下面看代碼吧

復(fù)制代碼 代碼如下:

/**
* 方法描述:<b>測試類</b></br>
*/
public class TestFileStream{
 //文件和壓縮包存儲(chǔ)的位置
StringtempFilePath="C:/temp/"
List<String>fileList=newArrayList<String>();
fileList.add(tempFilePath+"file1.txt");
fileList.add(tempFilePath+"file2.png");
fileList.add(tempFilePath+"file3.xls");
//生成的壓縮包名稱
StringzipName="fileData";
//返回流
ByteArrayOutputStreamoutputStream=fileToZip(fileList,fileData,tempFilePath);
//頁面輸入壓縮包流
byte[]buffer=outputStream.toByteArray();
//清空response
response.reset();
//設(shè)置response的Header
response.addHeader("Content-Disposition",
"attachment;filename="+
newString(("dataFile.zip").getBytes("gb2312"),"ISO8859-1"));
response.addHeader("Content-Length",""+outputStream.size());
toClient=newBufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
}

/**
*方法描述:<b>將多個(gè)文件壓縮成zip包</b></br>
*/
publicByteArrayOutputStreamfileToZip(List<String>fileList,StringzipName,StringtempFilePath){
byte[]buffer=newbyte[1024];
ZipOutputStreamout=null;
try{
out=newZipOutputStream(newFileOutputStream(tempFilePath+zipName+".zip"));
List<File>filedata=newArrayList<File>();
for(inti=0,len=fileList.size();i<len;i++)
{
filedata.add(newFile(fileList.get(i)));
}

for(intj=0,len=filedata.size();j<len;j++)
{
FileInputStreamfis=newFileInputStream(filedata.get(j));
out.putNextEntry(newZipEntry(filedata.get(j).getName()));
intdataLen;
//讀入需要下載的文件的內(nèi)容,打包到zip文件
while((dataLen=fis.read(buffer))>0){
out.write(buffer,0,dataLen);

}
out.closeEntry();
fis.close();

}
out.close();
}
catch(Exceptionex)
{
ex.printStackTrace();
}
//讀取壓縮包
Filefilezip=newFile(tempFilePath+zipName+".zip");

ByteArrayOutputStreambaos=null;
try
{
baos=newByteArrayOutputStream();
FileInputStreaminStream=newFileInputStream(filezip);
BufferedInputStreambis=newBufferedInputStream(inStream);
intc=bis.read();
while(c!=-1){
baos.write(c);
c=bis.read();
}
bis.close();
inStream.close();
}
catch(Exceptionex)
{
ex.printStackTrace();
}
returnbaos;
}

相關(guān)文章

  • MyBatis中resultType和parameterType和resultMap使用總結(jié)

    MyBatis中resultType和parameterType和resultMap使用總結(jié)

    這篇文章主要介紹了MyBatis中resultType和parameterType和resultMap使用總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Springmvc自定義異常處理器實(shí)現(xiàn)流程解析

    Springmvc自定義異常處理器實(shí)現(xiàn)流程解析

    這篇文章主要介紹了Springmvc自定義異常處理器實(shí)現(xiàn)流程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • SpringCloud?Bus組件的使用配置詳解

    SpringCloud?Bus組件的使用配置詳解

    bus稱之為springcloud中消息總線,主要用來在微服務(wù)系統(tǒng)中實(shí)現(xiàn)遠(yuǎn)端配置更新時(shí)通過廣播形式通知所有客戶端刷新配置信息,避免手動(dòng)重啟服務(wù)的工作,這篇文章主要介紹了SpringCloud?Bus組件的使用,需要的朋友可以參考下
    2022-03-03
  • Java 實(shí)現(xiàn)repalceAll只替換第二個(gè)匹配到的字符串

    Java 實(shí)現(xiàn)repalceAll只替換第二個(gè)匹配到的字符串

    這篇文章主要介紹了Java 實(shí)現(xiàn)repalceAll只替換第二個(gè)匹配到的字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Java實(shí)戰(zhàn)之電影在線觀看系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)之電影在線觀看系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要介紹了如何利用Java實(shí)現(xiàn)電影在線觀看系統(tǒng),文中用到的技術(shù)有:JSP、Spring、SpringMVC、MyBatis等,感興趣的可以了解一下
    2022-04-04
  • 一篇文章帶你入門Java封裝

    一篇文章帶你入門Java封裝

    Java面向?qū)ο蟮娜筇匦裕悍庋b、繼承、多態(tài)。下面對(duì)三大特性之一封裝進(jìn)行了總結(jié),需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • 用Java編程輸出萬年歷的功能實(shí)現(xiàn)

    用Java編程輸出萬年歷的功能實(shí)現(xiàn)

    這篇文章主要介紹了用Java編程輸出萬年歷的功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • springboot集成shiro自定義登陸過濾器方法

    springboot集成shiro自定義登陸過濾器方法

    這篇文章主要介紹了springboot集成shiro自定義登陸過濾器方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Java8?Stream流根據(jù)多個(gè)字段去重

    Java8?Stream流根據(jù)多個(gè)字段去重

    這篇文章主要介紹了Java8?Stream流根據(jù)多個(gè)字段去重,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • javabean servlet jsp實(shí)現(xiàn)分頁功能代碼解析

    javabean servlet jsp實(shí)現(xiàn)分頁功能代碼解析

    這篇文章主要為大家詳細(xì)解析了javabean servlet jsp實(shí)現(xiàn)分頁功能代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評(píng)論

甘肃省| 永安市| 屯留县| 黄浦区| 华安县| 阳山县| 千阳县| 长治县| 轮台县| 蒙城县| 德化县| 鹿泉市| 广东省| 唐河县| 寿阳县| 东方市| 鄱阳县| 六枝特区| 曲阜市| 晋中市| 电白县| 木兰县| 中西区| 清水县| 固镇县| 丹寨县| 赤壁市| 山东省| 阳东县| 宁津县| 淮滨县| 灵璧县| 新蔡县| 兴化市| 宁德市| 九台市| 公主岭市| 济源市| 怀宁县| 宿州市| 西盟|