Java解压zip文件的关键代码

 更新时间:2016年09月25日 14:54:19   作者:梦想、编织着青春  
本文给大家分享一段java解压zip文件的关键代码,代码简单易懂,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧

废话不多说了,给大家贴关键代码了,具体代码如下所示:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/** 
* @date 创建时间:2016年9月25日 上午11:06:46 
* @version 1.0 
* @parameter 
* @since 2016年9月25日 上午11:06:46
* @return 
*/
public class unZipFiles {
  //zip文件路径
  String fileAddress = "D:\\test.zip";
  //zip文件解压地址
  String unZipAddress = "F:\\unZipFiles\\";
  //去目录下寻找文件
  File file = new File(fileAddress);
  ZipFile zipFile = null;
  try {
    zipFile = new ZipFile(file,"GBK");//设置编码格式
  } catch (IOException exception) {
    exception.printStackTrace();
    System.out.println("解压文件不存在!");
  }
  Enumeration e = zipFile.getEntries(); 
  while(e.hasMoreElements()) { 
    ZipEntry zipEntry = (ZipEntry)e.nextElement(); 
    if(zipEntry.isDirectory()) { 
    String name = zipEntry.getName(); 
    name = name.substring(0,name.length()-1); 
    File f = new File(unZipAddress + name); 
    f.mkdirs(); 
  } else { 
    File f = new File(unZipAddress + zipEntry.getName()); 
    f.getParentFile().mkdirs(); 
    f.createNewFile(); 
    InputStream is = zipFile.getInputStream(zipEntry); 
    FileOutputStream fos = new FileOutputStream(f); 
    int length = 0; 
    byte[] b = new byte[1024]; 
    while((length=is.read(b, 0, 1024))!=-1) { 
      fos.write(b, 0, length); 
    } 
    is.close(); 
    fos.close(); 
    } 
  } 
  if (zipFile != null) { 
  zipFile.close(); 
  } 
  file.deleteOnExit();//解压完以后将压缩包删除 
}

好了,代码到此结束,以上所述是小编给大家介绍的Java解压zip文件的关键代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • MyBatis-Plus里面的增删改查详解(化繁为简)

    MyBatis-Plus里面的增删改查详解(化繁为简)

    这篇文章主要给大家介绍了关于MyBatis-Plus里面的增删改查的相关资料,Mybatis-Plus是一个基于Mybatis的增强工具,可以简化Mybatis的开发,提高开发效率,需要的朋友可以参考下
    2023-07-07
  • Java行为型设计模式之策略模式详解

    Java行为型设计模式之策略模式详解

    策略模式属于Java-设计模式中行为模式之一,该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。本文将通过示例详细讲解这一模式,需要的可以参考一下
    2022-11-11
  • 使用java基础类实现zip压缩和zip解压工具类分享

    使用java基础类实现zip压缩和zip解压工具类分享

    使用java基础类写的一个简单的zip压缩解压工具类,实现了指定目录压缩到和该目录同名的zip文件和将zip文件解压到指定的目录的功能
    2014-03-03
  • 原来Java中有两个ArrayList

    原来Java中有两个ArrayList

    原来Java中有两个ArrayList,本文就带着大家一起探究Java中的ArrayList,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 在SSM中配置了事务控制但没生效的问题

    在SSM中配置了事务控制但没生效的问题

    这篇文章主要介绍了在SSM中配置了事务控制但没生效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java String的深入理解

    java String的深入理解

    这篇文章主要介绍了java String的深入理解的相关资料,希望通过本文大家能理解String的用法,需要的朋友可以参考下
    2017-09-09
  • IDEA如何添加配置文件到classpath中

    IDEA如何添加配置文件到classpath中

    这篇文章主要介绍了IDEA如何添加配置文件到classpath中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Java解释器的运行过程介绍

    Java解释器的运行过程介绍

    今天小编就为大家分享一篇关于Java解释器的运行过程介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Java日期时间处理问题(从Date、Calendar到SimpleDateFormat)

    Java日期时间处理问题(从Date、Calendar到SimpleDateFormat)

    这篇文章主要介绍了Java日期时间处理深度解析(从Date、Calendar到SimpleDateFormat),我们详细讨论了Java中的日期和时间处理,包括Date、Calendar和SimpleDateFormat类的使用,以及Java 8引入的新的日期时间API的优势,需要的朋友可以参考下
    2024-08-08
  • @TableName注解和@Table的区别及说明

    @TableName注解和@Table的区别及说明

    这篇文章主要介绍了@TableName注解和@Table的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01

最新评论