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

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

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

    java技術(shù)研究

    統(tǒng)計(jì)

    留言簿(3)

    閱讀排行榜

    評(píng)論排行榜

    用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; //這個(gè)包在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 輸入一個(gè)文件夾
        * zipFileName 輸出一個(gè)壓縮文件夾
        
    */

        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這個(gè)流在這里
    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) 評(píng)論(1)  編輯  收藏

    評(píng)論

    # 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ù)  更多評(píng)論   


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久毛片免费看一区二区三区| 国产又大又粗又长免费视频| 亚洲精品中文字幕无码蜜桃| 亚欧在线精品免费观看一区| 亚洲精品永久在线观看| 亚洲无线码在线一区观看| 成人性生交视频免费观看| 高清永久免费观看| 亚洲午夜精品一区二区麻豆| 亚洲熟妇av一区二区三区漫画| 国产精品成人免费一区二区| 一个人看的免费高清视频日本| 亚洲高清在线mv| 大胆亚洲人体视频| 亚洲一区二区三区免费视频| 一级毛片一级毛片免费毛片| 亚洲白色白色永久观看| 精品国产亚洲男女在线线电影 | 免费人成黄页在线观看日本| 亚洲va中文字幕| 亚洲国语精品自产拍在线观看| 国产一级大片免费看| 24小时日本电影免费看| 国产精品免费久久久久久久久| 亚洲人成色77777在线观看| 久久久久久亚洲av成人无码国产| 免费亚洲视频在线观看| 99在线精品免费视频九九视| 成人爽a毛片免费| 麻豆91免费视频| 亚洲日韩一区精品射精| 666精品国产精品亚洲| 亚洲熟妇av一区二区三区| 大胆亚洲人体视频| 日韩毛片无码永久免费看| 国产人成免费视频网站| 亚洲精品免费观看| 怡红院免费的全部视频| 一个人看的免费观看日本视频www| 亚洲AV无码成人精品区狼人影院| 亚洲日本久久久午夜精品|