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

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

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

    java技術(shù)研究

    統(tǒng)計

    留言簿(3)

    閱讀排行榜

    評論排行榜

    用java壓縮文件夾/文件(轉(zhuǎn))

    轉(zhuǎn)自:http://www.tkk7.com/mrcmd/archive/2007/08/24/138963.html
    用java壓縮文件夾/文件
    壓縮文件夾代碼:
    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 2012-06-30 18:03 小秦 閱讀(342) 評論(1)  編輯  收藏

    評論

    # re: 用java壓縮文件夾/文件(轉(zhuǎn))[未登錄] 2012-07-01 14:59 bigbigbig

    1.壓縮目錄代碼好使。
    2.壓縮文件代碼,需要做如下修改才能好使。
    FileOutputStream fos = new FileOutputStream(f.getName()+".zip");
    修改為
    FileOutputStream fos = new FileOutputStream(f.getAbsolutePath()+".zip");  回復  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 免费高清av一区二区三区| 久久久久久毛片免费播放| 女人18毛片水最多免费观看| 久久亚洲熟女cc98cm| 一级毛片免费不卡在线| 亚洲av无码成h人动漫无遮挡| 十八禁在线观看视频播放免费| 亚洲综合伊人久久大杳蕉| 国产在线观a免费观看| 亚洲精品无码高潮喷水在线| 久久国产乱子伦精品免费不卡| 亚洲午夜精品一区二区| 最近中文字幕mv免费高清视频8 | 高清免费久久午夜精品| 免费在线一级毛片| 国产成人无码精品久久久免费| 在线亚洲人成电影网站色www| baoyu122.永久免费视频| 久久精品亚洲一区二区三区浴池 | 精品亚洲国产成人| 性盈盈影院免费视频观看在线一区| 久久水蜜桃亚洲AV无码精品| 亚洲免费在线观看| 久久精品成人免费看| 亚洲综合色区中文字幕| 国产大片91精品免费观看男同| 大妹子影视剧在线观看全集免费| 在线免费观看亚洲| 国产精品无码素人福利免费| eeuss草民免费| 亚洲国产美女福利直播秀一区二区 | 久久精品国产亚洲av麻豆图片| 国产无遮挡裸体免费视频| 久久精品无码免费不卡| 亚洲成人黄色网址| 日本中文一区二区三区亚洲| 久久久久久国产精品免费免费男同 | 91在线品视觉盛宴免费| 成年免费大片黄在线观看com| 亚洲欧洲国产日韩精品| 日日夜夜精品免费视频|