废话不多说了,给大家贴关键代码了,具体代码如下所示:
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文件的关键代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。