java 解压文件
2021/9/22 22:41:00
本文主要是介绍java 解压文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java 解压文件
//要压缩的文件 String zipName = "D:\\file\\test.zip"; //压缩到的目录 String targetDirName = "D:\\upZip"
/** * @Description: 将指定的zip文件解压到指定目录下,其中:zipName:文件名,targetDirName:需解压到的目录 **/ public static File upzipFile(String zipName, String targetDirName) throws Exception { if (!targetDirName.endsWith(File.separator)) { targetDirName += File.separator; } //防止乱码,获得压缩的格式 String fileEncode = EncodeUtil.getEncode(zipName, true); try { // 根据zip文件创建ZipFile对象,此类的作用是从zip文件读取条目 ZipFile zipFile = new ZipFile(zipName, Charset.forName(fileEncode)); ZipEntry zn = null; String entryName = null; String targetFileName = null; byte[] buffer = new byte[4096]; int bytes_read; Enumeration entrys = zipFile.entries(); // 获取ZIP文件里所有的文件条目的名字 File targetFile = null; FileOutputStream os = null; InputStream is = null; //entrys.hasMoreElements(); while (entrys.hasMoreElements()) { // 循环遍历所有的文件条目的名字 zn = (ZipEntry) entrys.nextElement(); System.out.println("zn:" + zn); entryName = zn.getName(); // 获得每一条文件的名字 System.out.println("entryName:" + entryName); targetFileName = targetDirName + entryName; if (zn.isDirectory()) { new File(targetFileName).mkdirs(); // 如果zn是一个目录,则创建目录 continue; } else { new File(targetFileName).getParentFile().mkdirs();// 如果zn是文件,则创建父目录 } targetFile = new File(targetFileName); // 否则创建文件 System.out.println("正在创建文件:" + targetFile.getAbsolutePath()); os = new FileOutputStream(targetFile);// 打开文件输出流 is = zipFile.getInputStream(zn); // 从ZipFile对象中打开entry的输入流 while ((bytes_read = is.read(buffer)) != -1) { os.write(buffer, 0, bytes_read); } } os.close(); // 关闭流 is.close(); zipFile.close(); System.out.println("解压缩" + zipName + "成功!"); return targetFile; } catch (IOException err) { System.err.println("解压缩" + zipName + "失败: " + err); } return null; }
这篇关于java 解压文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25Java编程面试题详解与解答
- 2024-12-25TS基础知识详解:初学者必看教程
- 2024-12-252024面试题解析与攻略:从零开始的面试准备指南
- 2024-12-25数据结构与算法学习:新手入门教程
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南
- 2024-12-24微信支付系统资料入门教程
- 2024-12-24微信支付资料详解:新手入门指南
- 2024-12-24Hbase资料:新手入门教程