繼續關注我的C語言學習博客

          林臨的地盤

          java學習博客
          posts - 44, comments - 28, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          使用jzip做打包下載

          Posted on 2009-10-22 14:30 lubaolin 閱讀(723) 評論(0)  編輯  收藏 所屬分類: java

          import java.io.File;
          import java.io.FileInputStream;
          import java.io.IOException;
          import java.util.Date;

          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import net.sf.jazzlib.ZipEntry;
          import net.sf.jazzlib.ZipOutputStream;

          public class BatchDownload extends HttpServlet {

           public BatchDownload() {
            super();
           }

           public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            response.setContentType("APPLICATION/OCTET-STREAM");
            response.setHeader("Content-Disposition","attachment; filename="+this.getZipFilename());
            System.out.println("in BatchDownload................");
            ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());  
               File[] files = new File[2];
               files[0]=new File("c:/zip/文件A.doc");
               files[1]=new File("c:/zip/文件B.doc");
               zipFile(files, "", zos);  
               zos.flush();  
               zos.close();  

           }
           private void zipFile(File[] subs, String baseName, ZipOutputStream zos) throws IOException {    
                for (int i=0;i<subs.length;i++) {
                 File f=subs[i];
                 zos.putNextEntry(new ZipEntry(baseName + f.getName()));  
                 FileInputStream fis = new FileInputStream(f);  
                 byte[] buffer = new byte[1024];  
                 int r = 0;  
                 while ((r = fis.read(buffer)) != -1) {  
                     zos.write(buffer, 0, r);  
                 }  
                 fis.close();
                }
           }
           private String getZipFilename(){
            Date date=new Date();
            String s=date.getTime()+".zip";
            return s;
           }

           public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            this.doGet(request, response);
           }
          }
          繼續關注我的C語言學習博客
          主站蜘蛛池模板: 贞丰县| 拉孜县| 东光县| 璧山县| 兴海县| 琼海市| 星座| 木兰县| 宿迁市| 井研县| 屯门区| 昆山市| 迁西县| 湾仔区| 大渡口区| 临朐县| 凤冈县| 娄底市| 金山区| 读书| 南岸区| 黄山市| 皋兰县| 金溪县| 前郭尔| 宿松县| 盈江县| 额尔古纳市| 登封市| 门源| 嘉兴市| 临沧市| 东乡| 娄烦县| 青冈县| 无为县| 定襄县| 寿光市| 武陟县| 南陵县| 临安市|