jsp 通过打包下载多个文件 哈哈

<%@page contentType="text/html;charset=GBK"%>
<%@page import="java.io.*,java.util.*,java.util.zip.*"%>

 

<%

 

                ZipOutputStream zos=null;
               ServletOutputStream sos=null;
               try{
                   response.reset();
          response.setContentType("application/x-msdownload"); //通知客户文件的MIME类型:
          String filename = "default.zip";
          response.setHeader("Content-disposition","attachment;filename=" + filename);
          sos = response.getOutputStream();
          zos = new ZipOutputStream(sos);
    
          ZipEntry ze = null;
          byte[] buf = new byte[2048]; //输出文件用的字节数组,每次发送2048个字节到输出流:
          int readLength = 0;
          int z=0;
          for(int i=0;i<list.size();i++){
            
              String FilePath = "";      //list为存放路径的数组 循环可以得到路径和文件名
              String FileName = "";
             
                File f = new File(FilePath);
                if(!f.exists())
          {
                continue;
          }
                ze = new ZipEntry(FileName);
             ze.setSize(f.length());
             ze.setTime(f.lastModified());
             zos.putNextEntry(ze);
             InputStream is = new BufferedInputStream(new FileInputStream(f));
             while ( (readLength = is.read(buf, 0, 2048)) != -1)
             {
               zos.write(buf, 0, readLength);
             }
             is.close();
           }
      }catch(Exception ex)
             {
            System.out.println("Error download:"+ex.toString());
             }finally
             {
             if(zos!=null){
            try
            {
              zos.close();
            }catch(Exception ex)
            {
               System.out.println("Error download:"+ex.toString());
            }
           }
           }

 

 

%>

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值