夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          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
          主站蜘蛛池模板: 黄骅市| 绩溪县| 屏南县| 阿拉尔市| 集安市| 辛集市| 金溪县| 兴文县| 顺义区| 马边| 阳谷县| 新野县| 双流县| 平邑县| 合江县| 肥城市| 宜黄县| 建德市| 辽源市| 集贤县| 天镇县| 靖远县| 通道| 赤壁市| 饶河县| 华阴市| 开平市| 宝应县| 益阳市| 金华市| 潼南县| 沙田区| 金门县| 汉中市| 正镶白旗| 哈尔滨市| 阜阳市| 淄博市| 磐安县| 吉水县| 无锡市|