博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
打包并下载文件
阅读量:6086 次
发布时间:2019-06-20

本文共 1072 字,大约阅读时间需要 3 分钟。

  CdncontractbillDAO billDAO = new CdncontractbillDAO();
    List billlist = billDAO.findAll();
//要下载的zip文件,名为DownLoad.zip
File zipFile = new File(System.getProperty("cdncharge_pdf")+"DownLoad.zip");
    try {
//用这个构造最终压缩包的输出流 
    ZipOutputStream zipoutStream = new ZipOutputStream(new FileOutputStream(zipFile));
    InputStream is;
    byte[] bufferArea = new byte[1024];//读写缓冲区
//循环所有文件,将文件打包
  for(Object bi : billlist){
      Cdncontractbill bill = (Cdncontractbill)bi;
      File file = new File(bill.getPath());
if(file.exists()){
FileInputStream zipinSource = new FileInputStream(file);
int read = 0;
ZipEntry zipEntry = new ZipEntry(file.getName());
zipoutStream.putNextEntry(zipEntry);//定位到该压缩条目位置,开始写入文件到压缩包中
while((read = zipinSource.read(bufferArea, 0, 1024)) != -1)
{
zipoutStream.write(bufferArea, 0, read);
}
zipoutStream.closeEntry();
zipinSource.close();
}
  }
  zipoutStream.close();
  is = new FileInputStream(zipFile);
  Filedownload.save(is, "", zipFile.getName());
} catch (Exception e) {
e.printStackTrace();
}
    //删除生成的打包文件
    zipFile.delete();

转载于:https://www.cnblogs.com/kisstear/p/4789123.html

你可能感兴趣的文章
C语言 处理文件
查看>>
javaScript 面向对象开发实例
查看>>
AC日记——Collectors Problem uva 10779
查看>>
MySQL连接问题浅析
查看>>
现在可用:2011年10月更新的Windows Azure Platform Training Kit
查看>>
js方法
查看>>
FZU 2032 高精度小数加法
查看>>
ssh 链接服务器出现 Write failed: Broken pipe
查看>>
Rails console 不能使用,出现cannot load such file -- readline (LoadError) 的解决
查看>>
uva 11468 Substring
查看>>
UVALive-3263 That Nice Euler Circuit (几何欧拉定理)
查看>>
Linux系统Mysql备份的导入导出
查看>>
大道至简第一章感想
查看>>
完美解决PHP中文乱码
查看>>
js获取下拉,单选
查看>>
Spring源码系列 — Envoriment组件
查看>>
zw量化交易·实盘操作·系列培训班
查看>>
repeater 设置分页
查看>>
Linux基础命令一
查看>>
CSRF笔记
查看>>