From c509bd8047cfd582c59bba66d148b236e45d038d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 12 一月 2023 10:15:15 +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