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

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

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

    Java on Line

    和java的日子!

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      8 隨筆 :: 0 文章 :: 28 評論 :: 0 Trackbacks
    壓縮文件夾代碼:
    import java.io.File;
    import org.apache.tools.zip.ZipOutputStream; //這個包在ant.jar里,要到官方網(wǎng)下載
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.zip.ZipInputStream;
    import java.util.zip.ZipEntry;

    public class CompressBook {
        
    public CompressBook() {}

        
    /*
        * inputFileName 輸入一個文件夾
        * zipFileName 輸出一個壓縮文件夾
        
    */

        
    public void zip(String inputFileName) throws Exception {
            String zipFileName 
    = "c:\\test.zip"//打包后文件名字
            System.out.println(zipFileName);
            zip(zipFileName, 
    new File(inputFileName));
        }


        
    private void zip(String zipFileName, File inputFile) throws Exception {
            ZipOutputStream out 
    = new ZipOutputStream(new FileOutputStream(zipFileName));
            zip(out, inputFile, 
    "");
            System.out.println(
    "zip done");
            out.close();
        }


        
    private void zip(ZipOutputStream out, File f, String base) throws Exception {
            
    if (f.isDirectory()) {
               File[] fl 
    = f.listFiles();
               out.putNextEntry(
    new org.apache.tools.zip.ZipEntry(base + "/"));
               base 
    = base.length() == 0 ? "" : base + "/";
               
    for (int i = 0; i < fl.length; i++{
               zip(out, fl[i], base 
    + fl[i].getName());
             }

            }
    else {
               out.putNextEntry(
    new org.apache.tools.zip.ZipEntry(base));
               FileInputStream in 
    = new FileInputStream(f);
               
    int b;
               System.out.println(base);
               
    while ( (b = in.read()) != -1{
                out.write(b);
             }

             in.close();
           }

        }


        
    public static void main(String [] temp){
            CompressBook book 
    = new CompressBook();
            
    try {
               book.zip(
    "c:\\c");//你要壓縮的文件夾
            }
    catch (Exception ex) {
               ex.printStackTrace();
           }

        }

    }

    壓縮文件代碼:
    import java.io.*;
    import java.util.zip.*;//ZipOutputStream這個流在這里
    import java.util.*;

    public class ZipOutputStreamTest
    {
         
    public static void main(String[] args) throws Exception
         
    {
           File f 
    = new File("a.jpg");
           FileInputStream fis 
    = new FileInputStream(f);
           BufferedInputStream bis 
    = new BufferedInputStream(fis);
           
    byte[] buf = new byte[1024];
           
    int len;
           FileOutputStream fos 
    = new FileOutputStream(f.getName()+".zip");
           BufferedOutputStream bos 
    = new BufferedOutputStream(fos);
           ZipOutputStream zos 
    = new ZipOutputStream(bos);//壓縮包
           ZipEntry ze = new ZipEntry(f.getName());//這是壓縮包名里的文件名
           zos.putNextEntry(ze);//寫入新的 ZIP 文件條目并將流定位到條目數(shù)據(jù)的開始處

           
    while((len=bis.read(buf))!=-1)
           
    {
              zos.write(buf,
    0,len);
              zos.flush();
           }

           bis.close();
           zos.close(); 
         }

    }
    posted on 2007-08-24 00:33 陳東 閱讀(40888) 評論(24)  編輯  收藏 所屬分類: Java基礎(chǔ)

    評論

    # re: 用java壓縮文件夾/文件[未登錄] 2007-11-10 14:36 ad
    不錯 謝謝了  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2008-01-27 22:54
    試過,真不錯,謝謝了.  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2008-06-23 18:49 flymz
    我用java.util.zip.ZipOutputStream;這個包也可以壓縮!  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2008-10-12 21:17 xh
    可以集成進jdk了  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2009-03-06 09:31 sem
    非常感謝!  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2010-07-14 15:44 ne_akari
    這代碼寫的真不規(guī)范。
    把所有異常全都拋出去,算什么回事。
    in.close();
    這句代碼,從語法上說:變量in明明是個局部變量,怎么會在代碼塊外面關(guān)閉。
    從邏輯上說:不管是在處理文件夾還是文件,都要執(zhí)行,那是什么邏輯。
    博主最好能做個修改再放出來,以免誤導(dǎo)別人。  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2010-11-16 13:25 ww
    @flymz

    碰到中文就會有亂碼 用這個  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件[未登錄] 2010-11-19 17:16 test
    @ne_akari
    噴子?有異常了不拋出留著干什么?  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2011-06-15 12:47 tye
    中文亂碼  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2011-09-14 09:44 eppen
    @ne_akari
    作為基類應(yīng)該拋出異常,業(yè)務(wù)類負責(zé)捕獲并定制錯誤消息  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2011-10-03 11:35 易元
    總得處理一下了啊,各種異常都往上拋,下邊不處理,拋到上邊也不處理,這也叫異常處理嗎???這只不過是編譯器不報錯罷了。  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2011-11-15 22:04 fskjb01
    @ne_akari
    人家只是說清楚問題(不清楚看標題),而把不相干的省略下而已,你這么多意見干嘛!!  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2011-12-15 16:44 hello223
    瞎說八道  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2012-04-28 12:40 路人
    @ne_akari
    當然要拋出去了異常吃了 別人都看不到才不規(guī)范呢
      回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2012-05-08 15:59 t
    你看錯了吧,博主只不過{}位置對應(yīng)錯了,in是沒問題的!
    else {
    out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));
    FileInputStream in = new FileInputStream(f);
    int b;
    System.out.println(base);
    while ( (b = in.read()) != -1) {
    out.write(b);
    }
    in.close();
    }  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件[未登錄] 2012-12-15 15:10 小菜鳥
    中文咋辦  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2013-03-14 14:34 forecle
    人家只給你個示例,具體的你自已去寫啊,想得到直接就能用的,你也真夠臉皮厚的!沒本事!  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件[未登錄] 2013-05-10 23:49
    沒有注釋,苦逼啊。。。  回復(fù)  更多評論
      

    # 回復(fù)@ne_akari 2013-07-04 21:15 asd
    @ne_akari
    你就是個純傻 逼 還噴別人。。要別人寫好再放出來
    你自己看仔細了再說人家  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件[未登錄] 2013-07-23 09:20 張三
    @tye
    http://wlh.iteye.com/blog/134451

    這個鏈接里面的不會亂碼  回復(fù)  更多評論
      

    # 寫的真不錯 2013-07-25 17:50 沈坤林
    寫的真不錯,代碼拿出來就能執(zhí)行,感謝感謝啊!  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2014-04-22 15:35 路人
    @ne_akari
    你個二逼,自己好好看看再說
      回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2014-05-08 21:24 路人
    壓縮文件夾時,有問題吧,會多出一個文件夾來。  回復(fù)  更多評論
      

    # re: 用java壓縮文件夾/文件 2015-03-28 16:57 XURUIYANG
    YASUO  回復(fù)  更多評論
      

    主站蜘蛛池模板: 国产18禁黄网站免费观看| 一级女人18毛片免费| 免费在线一级毛片| 亚洲爆乳大丰满无码专区| 在线播放免费播放av片| 亚洲中文字幕无码中文| 成全视频在线观看免费高清动漫视频下载| 亚洲成a人片毛片在线| 91成年人免费视频| 亚洲综合成人婷婷五月网址| 在线免费不卡视频| 国产亚洲精品免费| 最新精品亚洲成a人在线观看| 精品熟女少妇aⅴ免费久久| 久久精品国产亚洲av麻豆| 蜜桃成人无码区免费视频网站 | 国产成人精品免费久久久久| 亚洲电影国产一区| 成年人视频免费在线观看| 亚洲乱妇熟女爽到高潮的片| 全黄性性激高免费视频| 福利免费在线观看| 久久久久亚洲AV无码专区首JN| 国拍在线精品视频免费观看| 亚洲国产成人AV在线播放| 亚洲国产综合久久天堂| 久操视频免费观看| 亚洲午夜精品久久久久久app| 四虎影视永久免费观看地址| 久久免费福利视频| 亚洲熟妇少妇任你躁在线观看| 亚洲熟伦熟女新五十路熟妇| 99爱在线精品视频免费观看9| 亚洲中文精品久久久久久不卡| 亚洲精品老司机在线观看| 特级精品毛片免费观看| 99亚洲精品卡2卡三卡4卡2卡| 国产亚洲精品福利在线无卡一| 久视频精品免费观看99| 羞羞漫画页面免费入口欢迎你 | 成人a免费α片在线视频网站|