<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://m.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)站導航:
     
    主站蜘蛛池模板: 亚洲A∨午夜成人片精品网站| 在线a免费观看最新网站| 免费无码又爽又高潮视频| 亚洲特级aaaaaa毛片| 久久黄色免费网站| 午夜亚洲国产理论秋霞| 久久午夜无码免费| 亚洲第一精品福利| 91福利免费体验区观看区| 亚洲精品国产情侣av在线| 色片在线免费观看| 亚洲av产在线精品亚洲第一站| 999国内精品永久免费观看 | 国产亚洲精品无码专区| 九九综合VA免费看| 亚洲精品国产精品乱码视色| 精品国产一区二区三区免费| 中文字幕在线观看亚洲| 成人免费毛片内射美女-百度| 国产成+人+综合+亚洲专| 国产成人aaa在线视频免费观看| 美女黄频视频大全免费的| 亚洲一区爱区精品无码| 色欲国产麻豆一精品一AV一免费 | 97视频免费观看2区| 亚洲国产成人99精品激情在线| 久久久久国色AV免费观看性色| 亚洲AV色无码乱码在线观看| 亚洲国产一区二区三区| 免费观看久久精彩视频| 亚洲偷自精品三十六区| 国产免费啪嗒啪嗒视频看看| A毛片毛片看免费| 亚洲一区精品视频在线| 亚洲国产成人精品无码久久久久久综合| 男女一进一出抽搐免费视频| 亚洲视频一区在线观看| 免费A级毛片无码久久版| 午夜精品射精入后重之免费观看 | 又长又大又粗又硬3p免费视频| 久久青草亚洲AV无码麻豆|