<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ù)  更多評論
      

    主站蜘蛛池模板: 亚洲精品熟女国产| 99re热精品视频国产免费| 黄色片网站在线免费观看| 日日躁狠狠躁狠狠爱免费视频| 亚洲日本一线产区和二线产区对比| 亚洲六月丁香六月婷婷色伊人| 亚洲成人在线免费观看| 处破痛哭A√18成年片免费| 日韩一区二区a片免费观看| 九月婷婷亚洲综合在线| 亚洲福利在线视频| 综合偷自拍亚洲乱中文字幕| 久久久久久久久久免免费精品 | 国产人成免费视频| 亚洲精品动漫人成3d在线| 亚洲四虎永久在线播放| 国产亚洲高清在线精品不卡| 久久这里只精品99re免费| 日本人护士免费xxxx视频| 亚洲精品免费在线观看| 亚洲精品无码专区在线| 免费看男女下面日出水来| 国产精品亚洲综合一区| 色妞www精品视频免费看| 99热在线精品免费全部my| 亚洲情a成黄在线观看动漫尤物| 亚洲国产av一区二区三区| 亚洲综合色丁香麻豆| 亚洲日本乱码卡2卡3卡新区| 一级毛片在线播放免费| 色婷婷7777免费视频在线观看| 在线观看免费黄网站| 无码国产精品久久一区免费| 伊人婷婷综合缴情亚洲五月| 亚洲精品成人片在线播放| 亚洲av日韩av高潮潮喷无码| 中文字幕视频在线免费观看| 国产免费啪嗒啪嗒视频看看| 亚洲AV无码专区在线亚| 免费v片在线观看视频网站| 久久精品国产亚洲综合色|