<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      8 隨筆 :: 0 文章 :: 28 評論 :: 0 Trackbacks
    壓縮文件夾代碼:
    import java.io.File;
    import org.apache.tools.zip.ZipOutputStream; //這個包在ant.jar里,要到官方網下載
    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 文件條目并將流定位到條目數據的開始處

           
    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基礎

    評論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    # re: 用java壓縮文件夾/文件 2012-05-08 15:59 t
    你看錯了吧,博主只不過{}位置對應錯了,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();
    }  回復  更多評論
      

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

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

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

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

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

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

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

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

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

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

    主站蜘蛛池模板: 亚洲人成电影亚洲人成9999网| 亚洲国产成人乱码精品女人久久久不卡 | 91成人免费观看| 亚洲午夜未满十八勿入| 国产免费AV片在线观看| 亚洲无线电影官网| 五月婷婷在线免费观看| 77777亚洲午夜久久多喷| 久久久久久99av无码免费网站| 亚洲一级片在线观看| 搡女人真爽免费视频大全| 亚洲成av人在线观看网站 | 国产精品亚洲天堂| 亚洲国产精品13p| 97在线免费视频| 亚洲精品影院久久久久久| 国产一卡二卡3卡四卡免费| 亚洲欧美日韩中文二区| 亚洲A∨精品一区二区三区| 国产人成网在线播放VA免费| 亚洲国产精品国自产拍AV| 18禁男女爽爽爽午夜网站免费| 亚洲色大成WWW亚洲女子| 亚洲国产精品一区二区九九| 暖暖免费日本在线中文| 亚洲六月丁香六月婷婷蜜芽| 国产一区二区三区在线观看免费| 黄网站色成年片大免费高清| 亚洲国产另类久久久精品小说| 永久免费视频网站在线观看| 亚洲AV成人片无码网站| 亚洲精品高清国产一线久久| 91网站免费观看| 一级特黄特色的免费大片视频| 亚洲av伊人久久综合密臀性色| 成人女人A级毛片免费软件| 黄页视频在线观看免费| 色播亚洲视频在线观看| 国产免费观看黄AV片| 2021国内精品久久久久精免费| 阿v免费在线观看|