多个文件的下载

     工作中遇到了这个问题,上传的时候用户可以一次性上传多个附件,这样下载的时候就有问题了,一个文件还好下载,要是多个附件的话那就不好弄了,在网上找了一下没找到一个下载多个文件的好的解决方法,于是只好先把这些附件打包然后下载下来了.这里面有文件名为中文的时候乱码的问题,网上有两个解决方法,第一:使用apache的ant.jar包,而不用JDK自带的,我用的就是这种方法,第二种就不多说了,大家可以去搜搜.

    /**
     * 将多个模版打包成一个压缩包
     * @param excelUpLoadIndexBoList
     */
    public void getZipFile(List<ExcelUpLoadIndexBo> excelUpLoadIndexBoList,String outPutFilePath)
    {
        try
         { 
             BufferedReader in;
             //创建文件输出流对象
             FileOutputStream out = new FileOutputStream(outPutFilePath);
             ZipOutputStream zipOut = new ZipOutputStream(out); //创建ZIP数据输出流对象 
             ZipEntry entry;
             int n; 
             int len = excelUpLoadIndexBoList.size();
             for(int i=0; i<len;i++)//创建文件输入流对象 
             {
                 String filefullName = excelUpLoadIndexBoList.get(i).getFileName();
                 String filePath = excelUpLoadIndexBoList.get(i).getFilePath();
                 filePath = filePath + File.separator + filefullName;

                 in= new BufferedReader(
                                        new InputStreamReader(new FileInputStream(filePath),"ISO8859-1"));
                 entry = new ZipEntry(filefullName); 
                 zipOut.putNextEntry(entry); 
                 //向压缩文件中输出数据 
                while((n=in.read()) != -1)
                {
                    zipOut.write(n);
                }
                 in.close(); 
             }
             zipOut.close();
             out.close();
         }catch(Exception e) 
         { 
               System.out.println(e); 
         } 
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值