java 解压文件
package ofd; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.charset.Charset; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class Ofd { public static void main(String[] args) { // 文件存放位置zip rar尚未测试 String zipPath = "C:\\Users\\Gean_2016\\Desktop\\ofd\\3.ofd"; File zipFile = new File(zipPath); String descDir = "C:\\Users\\Gean_2016\\Desktop\\ofd123\\3\\"; boolean flag = unZip(zipFile, descDir); System.out.println("解压成功还是失败=" + flag); } /** * 解压zip文件 * * @param zipFile目标文件 * @param descDir解压后存放的位置 * @return true/false */ public static boolean unZip(File zipFile, String descDir) { boolean flag = false; File pathFile = new File(descDir); if (!pathFile.exists()) { pathFile.mkdirs(); } ZipFile zip = null; try { // 指定编码,否则压缩包里面不能有中文目录 zip = new ZipFile(zipFile, Charset.forName("gbk")); for (Enumeration entries = zip.entries(); entries.hasMoreElements();) { ZipEntry entry = (ZipEntry) entries.nextElement(); String zipEntryName = entry.getName(); InputStream in = zip.getInputStream(entry); String outPath = (descDir + zipEntryName).replace("/",File.separator); // 判断路径是否存在,不存在则创建文件路径 File file = new File(outPath.substring(0, outPath.lastIndexOf(File.separator))); if (!file.exists()) { file.mkdirs(); } // 判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压 if (new File(outPath).isDirectory()) { continue; } OutputStream out = new FileOutputStream(outPath); byte[] buf1 = new byte[2048]; int len; while ((len = in.read(buf1)) > 0) { out.write(buf1, 0, len); } in.close(); out.close(); } flag = true; // 必须关闭,否则无法删除该zip文件 zip.close(); } catch (IOException e) { e.printStackTrace(); } return flag; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律