<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://www.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)航:
     
    主站蜘蛛池模板: 国产精品免费αv视频| 久久九九兔免费精品6| 嫩草影院免费观看| 久久精品国产精品亚洲蜜月| 国产成人一区二区三区免费视频| 亚洲毛片一级带毛片基地| 222www免费视频| 亚洲乱码一二三四区乱码| 黄色成人网站免费无码av| 亚洲欧美国产日韩av野草社区| 男人的好看免费观看在线视频| 涩涩色中文综合亚洲| 麻豆国产精品入口免费观看| 久久精品国产亚洲av天美18| 免费一级毛片不卡不收费| 一道本在线免费视频| 亚洲av无码一区二区三区网站| 免费国产黄网站在线观看可以下载 | 国产精品亚洲va在线观看| 亚洲成?v人片天堂网无码| 国产中文字幕在线免费观看| 婷婷亚洲久悠悠色悠在线播放 | 日韩色日韩视频亚洲网站| 国产日韩成人亚洲丁香婷婷| 免费福利电影在线观看| 亚洲 欧洲 自拍 另类 校园| 成人亚洲综合天堂| 拔擦拔擦8x华人免费久久| 产传媒61国产免费| 无码专区—VA亚洲V天堂| 韩国免费三片在线视频| 国产免费AV片在线观看播放| 亚洲最大在线视频| 亚洲?V无码成人精品区日韩| 青青草无码免费一二三区| 亚洲精华国产精华精华液| 亚洲一级特黄大片在线观看| 亚洲免费在线视频观看| 色多多www视频在线观看免费| 亚洲福利在线视频| 又粗又大又猛又爽免费视频 |