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

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

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

    athrunwang

    紀(jì)元
    數(shù)據(jù)加載中……
    java實現(xiàn)zip與unzip
    jdk提供了Zip相關(guān)的類方便的實現(xiàn)壓縮和解壓縮。使用方法很簡單。下邊分別是壓縮和解壓縮的簡單事例
    1,壓縮的
    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();
                    
    //會把目錄作為一個file讀出一次,所以只建立目錄就可以,之下的文件還會被迭代到。
                    if (entry.isDirectory())
                    
    {
                        
    new File(filePath + entry.getName()).mkdirs();
                        
    continue;
                    }

                    BufferedInputStream bis 
    = new BufferedInputStream(zipFile.getInputStream(entry));
                    File file 
    = new File(filePath + entry.getName());
                    
    //加入這個的原因是zipfile讀取文件是隨機讀取的,這就造成可能先讀取一個文件
                    
    //而這個文件所在的目錄還沒有出現(xiàn)過,所以要建出目錄來。
                    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 2012-01-03 17:31 AthrunWang 閱讀(199) 評論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精华国产精华精华液| 国产免费无码AV片在线观看不卡| 全亚洲最新黄色特级网站| eeuss在线兵区免费观看| 久久亚洲sm情趣捆绑调教| 国产v片免费播放| 一级毛片在线观看免费| 色噜噜的亚洲男人的天堂| 亚洲Av无码专区国产乱码DVD| 性xxxx视频播放免费| 成人免费区一区二区三区| 亚洲国产欧美一区二区三区| 国产亚洲综合网曝门系列| 毛片免费全部播放一级| 玖玖在线免费视频| 国产成人+综合亚洲+天堂| 内射干少妇亚洲69XXX| 免费在线一级毛片| 美女视频黄的全免费视频网站| 九九免费观看全部免费视频| 亚洲午夜久久久久久尤物| 亚洲午夜久久久久久久久电影网| 我要看免费的毛片| 久久久久久成人毛片免费看 | 一级毛片大全免费播放下载| 亚洲狠狠狠一区二区三区| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲AV永久无码精品成人| 国产特级淫片免费看| 性短视频在线观看免费不卡流畅| 最新久久免费视频| 国产亚洲精品仙踪林在线播放| 亚洲国产精品美女| 久久青草亚洲AV无码麻豆| 亚洲精品WWW久久久久久| 日本高清免费网站| 日韩免费a级毛片无码a∨ | 久久久久亚洲精品中文字幕| 在线观看免费国产视频| 欧美a级成人网站免费| 日本人的色道免费网站|