JAVA解凍ZIPファイル

2502 ワード

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;


public class ZipUtil {
    
    public static void unzip(String zipFile){
        //        
        File file = new File(zipFile);
        if(!file.exists() || !file.isFile()){
            return;
        }
        //        
        String basePath = file.getParent();
        //      
        int buffersize = 1024;
        int count = 0;
        //    
        byte[] buffer = new byte[buffersize];
        try {
            // Zip  
            ZipFile zfile = new ZipFile(file);
            //   Zip       
            Enumeration<ZipEntry> zips = (Enumeration<ZipEntry>) zfile.entries();
            //   Zip       
            while(zips.hasMoreElements()){
                //     
                ZipEntry entry = zips.nextElement();
                //    
                String name = entry.getName();
                //          
                String filePath = basePath + File.separator + name;
                //   zip       
                if(entry.isDirectory()){
                    System.out.println("isDirectory");
                    File path = new File(filePath);
                    if(!path.exists()){
                        path.mkdir();
                    }
                    continue;
                }
                //          
                InputStream in = zfile.getInputStream(entry);
                //        
                BufferedInputStream bis = new BufferedInputStream(in);
                //        
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
                //                 
                while((count = bis.read(buffer, 0, buffersize)) != -1){
                    bos.write(buffer, 0, count);
                }
                //     
                bos.flush();
                bos.close();
                bos.close();
                
            }
            //     
            zfile.close();
        } catch (ZipException e) {
            
        } catch (IOException e) {
            
        }
    }
    
    public static void main(String[] args) {
        ZipUtil.unzip("E:\\pics.zip");
    }
}