<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>


      1 /////////////////////////////////////////////////////////////////////////////////////
      2 //
      3 //  程序:ZIP.java
      4 //
      5 //  描述:對(duì)文件壓縮、解壓
      6 //
      7 //  時(shí)間:2006-12-20
      8 //
      9 //  待修改 :
     10 //(1).做成有界面的模式
     11 //(2).加入加密功能
     12 //(3).異常捕獲,增加程序的強(qiáng)壯性。容錯(cuò)能力有待提高
     13 //
     14 ////////////////////////////////////////////////////////////////////////////////////
     15 
     16 import java.util.*;
     17 import java.util.zip.*;
     18 import java.io.*;
     19 class ZIP
     20 {
     21     public void zip (String zipFileName,String inputFile)throws Exception
     22     {
     23         //從String對(duì)象, 得到 File對(duì)象
     24         zip (zipFileName,new File (inputFile));//調(diào)用下面的方法
     25     }
     26     public void zip (String zipFileName,File inputFile)throws Exception
     27     {
     28         //從String對(duì)象得到 FileOutputStream對(duì)象
     29         //從FileOutputStream對(duì)象 再得到ZipOutputStream
     30         ZipOutputStream out = new ZipOutputStream (new FileOutputStream (zipFileName));
     31         zip (out,inputFile,"");//調(diào)用下面的方法
     32         System.out.println ("zip done");
     33         out.close ();
     34     }
     35     //最終壓縮方法的入口(前面只是起到參數(shù)封裝)
     36     public void zip (ZipOutputStream out,File f,String base)throws Exception
     37     {
     38         System.out.println ("Zipping "+f.getName ());
     39         //如果是目錄的情況
     40         if (f.isDirectory ())
     41         {
     42             File[] fl=f.listFiles ();
     43             out.putNextEntry (new ZipEntry (base+"/"));
     44             base=base.length ()==0?"":base+"/";
     45             for (int i=0;i<fl.length ;i++ )
     46             {
     47                 zip (out,fl[i],base+fl[i].getName ());
     48             }
     49         }
     50         //文件的情況
     51         else
     52         {
     53             out.putNextEntry (new ZipEntry (base));
     54             FileInputStream in=new FileInputStream (f);
     55             int b;
     56             while ((b=in.read ()) != -1)
     57                 out.write (b);
     58             in.close ();
     59         }
     60         
     61     }
     62     
     63     public void unzip (String zipFileName,String outputDirectory)throws Exception
     64     {
     65         ZipInputStream in=new ZipInputStream (new FileInputStream (zipFileName));
     66         ZipEntry z;
     67         while ((z=in.getNextEntry () )!= null)
     68         {
     69             System.out.println ("unziping "+z.getName ());
     70             if (z.isDirectory ())
     71             {
     72                 String name=z.getName ();
     73                 name=name.substring (0,name.length ()-1);
     74                 File f=new File (outputDirectory+File.separator+name);
     75                 f.mkdir ();
     76                 System.out.println ("mkdir "+outputDirectory+File.separator+name);
     77             }
     78             else
     79             {
     80                 File f=new File (outputDirectory+File.separator+z.getName ());
     81                 f.createNewFile ();
     82                 FileOutputStream out=new FileOutputStream (f);
     83                 int b;
     84                 while ((b=in.read ()) != -1)
     85                     out.write (b);
     86                 out.close ();
     87             }
     88         }
     89         
     90         in.close ();
     91     }
     92     
     93     public static void main (String[] args)
     94     {
     95         try
     96         {
     97             ZIP t=new ZIP ();
     98             //通過文件夾選項(xiàng)來獲取參數(shù),那樣就更好了。
     99             t.zip ("c://test2.zip","c://test2");
    100             //   t.unzip ("c://test1.zip","c://test2");
    101         }
    102         catch(Exception e)
    103         {e.printStackTrace (System.out);}
    104     }
    105 }

    posted on 2007-02-08 14:25 -274°C 閱讀(284) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊(cè)

    JAVA網(wǎng)站

    關(guān)注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914554
    • 排名 - 40

    最新評(píng)論

    主站蜘蛛池模板: 精选影视免费在线 | 114级毛片免费观看| 亚洲AV午夜成人影院老师机影院| 久久久久国产精品免费网站| 国产99在线|亚洲| 亚洲精品97久久中文字幕无码| 久久大香香蕉国产免费网站 | 亚洲男同帅GAY片在线观看| 精品无码国产污污污免费网站| 亚洲av最新在线观看网址| 国产亚洲精品一品区99热| 毛片在线免费视频| 插鸡网站在线播放免费观看| 亚洲av产在线精品亚洲第一站| 亚洲性日韩精品一区二区三区 | 亚洲欧美成aⅴ人在线观看| 亚洲国产精品自产在线播放| 免费成人福利视频| 亚欧洲精品在线视频免费观看 | 青青视频免费在线| 黄视频在线观看免费| 亚洲理论片在线观看| 久久亚洲欧洲国产综合| 成人毛片视频免费网站观看| 成人爽a毛片免费| 免费国产在线精品一区| 亚洲w码欧洲s码免费| 亚洲AV永久无码精品一百度影院| 在线免费观看韩国a视频| free哆啪啪免费永久| 国产在线精品一区免费香蕉| 久久亚洲精品成人无码| 亚洲一本之道高清乱码| 亚洲成在人线av| 国产偷国产偷亚洲高清日韩| 浮力影院第一页小视频国产在线观看免费 | 最近最新MV在线观看免费高清| a级毛片免费在线观看| 青青免费在线视频| 亚洲AV成人片无码网站| 亚洲精品123区在线观看|