欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用java解压.zip的压缩文件 博客分类: J2EE java解压zip 

程序员文章站 2024-03-24 16:53:46
...

这段代码是我从网上直接复制下来的,写的真的很不错,可以直接运行

public class UnzipFile {  
  
    /** 
     * 解压zip文件 
     *  
     * @param targetPath  文件解压后的路径
     * @param zipFilePath  文件的绝对路径
     */  
    public void unzipFile(String targetPath, String zipFilePath) {  
  
        try {  
            File zipFile = new File(zipFilePath);  
            InputStream is = new FileInputStream(zipFile);  
            ZipInputStream zis = new ZipInputStream(is);  
            ZipEntry entry = null;  
            System.out.println("开始解压:" + zipFile.getName() + "...");  
            //开始解压
           while ((entry = zis.getNextEntry()) != null) {  
                String zipPath = entry.getName(); 
                System.out.println("entry.getName() = "+entry.getName());
               try {  
            	   //判断压缩文件内是目录还是文件
                    if (entry.isDirectory()) 
                    {  //如果是目录,创建它
                        File zipFolder = new File(targetPath + File.separator  
                                + zipPath);  
                        if (!zipFolder.exists()) {  
                            zipFolder.mkdirs();  
                        }  
                    } 
                    else 
                    {  //如果是文件则将其读出
                       File file = new File(targetPath + File.separator  
                               + zipPath);  
                        if (!file.exists()) {  
                            File pathDir = file.getParentFile();  
                           pathDir.mkdirs();  
                           file.createNewFile();  
                       }  

                      FileOutputStream fos = new FileOutputStream(file);  
                        int bread;  
                        while ((bread = zis.read()) != -1) {  
                           fos.write(bread);  
                        }  
                        fos.close();  
  
                    }  
                   System.out.println("成功解压:" + zipPath);  
  
                } catch (Exception e) {  
                    System.out.println("解压" + zipPath + "失败");  
                  continue;  
                }  
            }  
            zis.close();  
            is.close();  
           System.out.println("解压结束");  
        } catch (Exception e) {  
           e.printStackTrace();  
        }  
  
    }  
 
    /** 
     * @param args 
     */  
   public static void main(String[] args) {  
	    String path = System.getProperty("user.dir"); //取得当前项目的根目录
	    System.out.println(path);
        String targetPath = path+"\\tmp";   //文件解压后的路径
        String zipFile = "D:\\tmp\\田.zip";  //文件的绝对路径
        UnzipFile unzip = new UnzipFile();  
        unzip.unzipFile(targetPath, zipFile);  
    }  
  
}  

相关标签: java 解压 zip