多个文件的下载

     工作中遇到了这个问题,上传的时候用户可以一次性上传多个附件,这样下载的时候就有问题了,一个文件还好下载,要是多个附件的话那就不好弄了,在网上找了一下没找到一个下载多个文件的好的解决方法,于是只好先把这些附件打包然后下载下来了.这里面有文件名为中文的时候乱码的问题,网上有两个解决方法,第一:使用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); 
         } 
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章