夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          <2011年1月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          公告

          本博客中未注原創的文章均為轉載,對轉載內容可能做了些修改和增加圖片注釋,如果侵犯了您的版權,或沒有注明原作者,請諒解

          常用鏈接

          留言簿(21)

          隨筆分類(644)

          隨筆檔案(669)

          文章檔案(6)

          最新隨筆

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          package com.framework.commons.util;

          import java.io.*;
          import java.util.*;
          import java.util.zip.ZipOutputStream;
          import java.util.zip.ZipEntry;
          import java.util.zip.ZipFile;

          /**
           * <ul>
           * <li>Title:[ZipUtil]</li>
           * <li>Description: [zip加壓名解壓多個文件]</li>
           * <li>Copyright 2009 Upengs Co., Ltd.</li>
           * <li>All right reserved.</li>
           * <li>Created by [Huyvanpull] [2011-1-9]</li>
           * <li>Midified by [modifier] [modified time]</li>
           * </ul>
           * 
           * 
          @version 1.0
           
          */

          public class ZipUtil
          {
              
          public ZipUtil()
              
          {}
              
              
          public static void main(String[] args)
              
          {
                  
          try
                  
          {
                      File f1 
          = new File("G:/t1.txt");
                      File f2 
          = new File("G:/t2.txt");
                      
                      File[] fs 
          = new File[]{f1, f2};
                      
                      File f 
          = new File("G:/t.zip");
                      ZipUtil.ZipFiles(fs, f);
                  }

                  
          catch(Exception ex)
                  
          {
                      ex.printStackTrace();
                  }

              }

              
              
          /**
               * <ul>
               * <li>Description:[壓縮文件]</li>
               * <li>Created by [Huyvanpull] [2011-1-9]</li>
               * <li>Midified by [modifier] [modified time]</li>
               * </ul>
               * 
               * 
          @param srcfile
               * 需要壓縮的文件列表
               * 
          @param zipfile
               * 壓縮后的文件
               
          */

              
          public static void ZipFiles(java.io.File[] srcfile, java.io.File zipfile)
              
          {
                  
          byte[] buf = new byte[1024];
                  
          try
                  
          {
                      
          // Create the ZIP file
                      ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
                              zipfile));
                      
          // Compress the files
                      for (int i = 0; i < srcfile.length; i++)
                      
          {
                          FileInputStream in 
          = new FileInputStream(srcfile[i]);
                          
          // Add ZIP entry to output stream.
                          out.putNextEntry(new ZipEntry(srcfile[i].getName()));
                          
          // Transfer bytes from the file to the ZIP file
                          int len;
                          
          while ((len = in.read(buf)) > 0)
                          
          {
                              out.write(buf, 
          0, len);
                          }

                          
          // Complete the entry
                          out.closeEntry();
                          in.close();
                      }

                      
          // Complete the ZIP file
                      out.close();
                      System.out.println(
          "壓縮完成.");
                  }

                  
          catch (IOException e)
                  
          {
                      e.printStackTrace();
                  }

              }

              
              
          /**
               * <ul>
               * <li>Description:[解壓縮]</li>
               * <li>Created by [Huyvanpull] [2011-1-9]</li>
               * <li>Midified by [modifier] [modified time]</li>
               * </ul>
               * 
               * 
          @param zipfile
               * 需要解壓縮的文件
               * 
          @param descDir
               * 解壓后的目標目錄
               
          */

              @SuppressWarnings(
          "unchecked")
              
          public static void UnZipFiles(java.io.File zipfile, String descDir)
              
          {
                  
          try
                  
          {
                      
          // Open the ZIP file
                      ZipFile zf = new ZipFile(zipfile);
                      
          for (Enumeration entries = zf.entries(); entries.hasMoreElements();)
                      
          {
                          
          // Get the entry name
                          ZipEntry entry = ((ZipEntry) entries.nextElement());
                          String zipEntryName 
          = entry.getName();
                          InputStream in 
          = zf.getInputStream(entry);
                          
          // System.out.println(zipEntryName);
                          OutputStream out = new FileOutputStream(descDir + zipEntryName);
                          
          byte[] buf1 = new byte[1024];
                          
          int len;
                          
          while ((len = in.read(buf1)) > 0)
                          
          {
                              out.write(buf1, 
          0, len);
                          }

                          
          // Close the file and stream
                          in.close();
                          out.close();
                          System.out.println(
          "解壓縮完成.");
                      }

                  }

                  
          catch (IOException e)
                  
          {
                      e.printStackTrace();
                  }

              }

          }

          posted on 2011-01-09 23:17 HUIKK 閱讀(231) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 睢宁县| 安远县| 六盘水市| 湘阴县| 邵阳市| 莫力| 重庆市| 临海市| 绥江县| 九龙城区| 嘉善县| 荣成市| 抚远县| 宝坻区| 岚皋县| 名山县| 治县。| 杭州市| 榆社县| 西安市| 惠州市| 东阿县| 霍州市| 永福县| 伊金霍洛旗| 庆元县| 望谟县| 淳安县| 彭山县| 瓦房店市| 库伦旗| 郑州市| 芒康县| 南宫市| 湖州市| 三明市| 文昌市| 衡山县| 衡阳县| 庆云县| 弋阳县|