From e26af85e049516e6ce2b082bc2bc90bf71643e95 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 24 三月 2023 09:06:30 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/helper/ZipHelper.java | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lf/server/helper/ZipHelper.java b/src/main/java/com/lf/server/helper/ZipHelper.java index 3f1f8fa..f03db12 100644 --- a/src/main/java/com/lf/server/helper/ZipHelper.java +++ b/src/main/java/com/lf/server/helper/ZipHelper.java @@ -4,6 +4,7 @@ import org.apache.commons.logging.LogFactory; import java.io.*; +import java.nio.charset.Charset; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -30,9 +31,13 @@ public static boolean unzip(String filePath, String zipDir) { ZipFile zipFile = null; try { - int count; - zipFile = new ZipFile(filePath); + File dir = new File(zipDir); + if (!dir.exists() || !dir.isDirectory()) { + dir.mkdirs(); + } + int count; + zipFile = new ZipFile(filePath, Charset.forName("GBK")); Enumeration e = zipFile.entries(); while (e.hasMoreElements()) { ZipEntry entry = (ZipEntry) e.nextElement(); @@ -47,7 +52,6 @@ BufferedInputStream is = new BufferedInputStream(zipFile.getInputStream(entry)); FileOutputStream fos = new FileOutputStream(zipDir + File.separator + entry.getName()); BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER_SIZE); - while ((count = is.read(BUFFER, 0, BUFFER_SIZE)) != -1) { dest.write(BUFFER, 0, count); } -- Gitblit v1.9.3