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

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

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

    飛翔的起點(diǎn)

    從這里出發(fā)

    導(dǎo)航

    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    統(tǒng)計(jì)

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    java中壓縮與解壓縮的實(shí)現(xiàn)

    壓縮的
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;

    public class Zip {
        
    static final int BUFFER = 2048;

        
    public static void main(String argv[]) {
            
    try {
                BufferedInputStream origin 
    = null;
                FileOutputStream dest 
    = new FileOutputStream("E:\\test\\myfiles.zip");
                ZipOutputStream out 
    = new ZipOutputStream(new BufferedOutputStream(
                        dest));
                
    byte data[] = new byte[BUFFER];
                File f 
    = new File("e:\\test\\a\\");
                File files[] 
    = f.listFiles();

                
    for (int i = 0; i < files.length; i++{
                    FileInputStream fi 
    = new FileInputStream(files[i]);
                    origin 
    = new BufferedInputStream(fi, BUFFER);
                    ZipEntry entry 
    = new ZipEntry(files[i].getName());
                    out.putNextEntry(entry);
                    
    int count;
                    
    while ((count = origin.read(data, 0, BUFFER)) != -1{
                        out.write(data, 
    0, count);
                    }

                    origin.close();
                }

                out.close();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

        }

    }


    2,解壓縮的。
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.Enumeration;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipFile;

    public class UnZip {
        
    static final int BUFFER = 2048;

        
    public static void main(String argv[]) {
            
    try {
                String fileName 
    = "E:\\test\\myfiles.zip";
                String filePath 
    = "E:\\test\\";
                ZipFile zipFile 
    = new ZipFile(fileName);
                Enumeration emu 
    = zipFile.entries();
                
    int i=0;
                
    while(emu.hasMoreElements()){
                    ZipEntry entry 
    = (ZipEntry)emu.nextElement();
                    
    //會(huì)把目錄作為一個(gè)file讀出一次,所以只建立目錄就可以,之下的文件還會(huì)被迭代到。
                    if (entry.isDirectory())
                    
    {
                        
    new File(filePath + entry.getName()).mkdirs();
                        
    continue;
                    }

                    BufferedInputStream bis 
    = new BufferedInputStream(zipFile.getInputStream(entry));
                    File file 
    = new File(filePath + entry.getName());
                    
    //加入這個(gè)的原因是zipfile讀取文件是隨機(jī)讀取的,這就造成可能先讀取一個(gè)文件
                    
    //而這個(gè)文件所在的目錄還沒有出現(xiàn)過,所以要建出目錄來(lái)。
                    File parent = file.getParentFile();
                    
    if(parent != null && (!parent.exists())){
                        parent.mkdirs();
                    }

                    FileOutputStream fos 
    = new FileOutputStream(file);
                    BufferedOutputStream bos 
    = new BufferedOutputStream(fos,BUFFER);           
                    
                    
    int count;
                    
    byte data[] = new byte[BUFFER];
                    
    while ((count = bis.read(data, 0, BUFFER)) != -1)
                    
    {
                        bos.write(data, 
    0, count);
                    }

                    bos.flush();
                    bos.close();
                    bis.close();
                }

                zipFile.close();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

        }

    }

    posted on 2008-09-16 20:52 forgood 閱讀(181) 評(píng)論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 亚洲精品一卡2卡3卡四卡乱码| 亚洲精品国产V片在线观看| 91视频免费网址| 久久久久国产精品免费网站| 玖玖在线免费视频| 免费无码成人AV在线播放不卡| 久久九九AV免费精品| 日韩免费无码视频一区二区三区| 四虎影视在线影院在线观看免费视频 | 亚洲男人在线无码视频| 国产伦精品一区二区三区免费下载| 国产成人精品免费视频大全五级| 国产美女做a免费视频软件| 免费一级特黄特色大片在线观看| 免费永久看黄在线观看app| 免费一级毛片不卡在线播放| 亚洲国产精品第一区二区三区| 亚洲人午夜射精精品日韩| 国产亚洲精品久久久久秋霞| 亚洲成AV人片在线观看无码| 亚洲AV无码国产精品麻豆天美 | 免费看美女被靠到爽| 日韩黄色免费观看| 亚洲欧洲中文日韩久久AV乱码| 国产成人精品日本亚洲专区61| 亚洲中文字幕无码永久在线| 亚洲av无码专区国产乱码在线观看| 久久精品亚洲视频| 亚洲人成人77777网站不卡| 亚洲精品美女久久久久久久| 四虎精品成人免费视频| 两个人看的www高清免费观看| 日韩精品久久久久久免费| 成人免费一级毛片在线播放视频| 精品国产免费一区二区| 亚洲人成色7777在线观看不卡 | 亚洲AV无码一区二区三区国产| 国产日韩亚洲大尺度高清| 亚洲精品在线视频观看| 亚洲国产精品无码久久久秋霞1| 一级毛片在线播放免费|