From 93951af07ec39a940deddf6828fc35c9f7b91993 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 2 Jun 2020 18:05:13 +0800 Subject: [PATCH] add exception --- .../src/main/java/cn/hutool/core/util/ZipUtil.java | 6 +++++- .../src/test/java/cn/hutool/core/util/ZipUtilTest.java | 9 ++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ZipUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ZipUtil.java index 36544e68d..8967dc8e7 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/ZipUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ZipUtil.java @@ -388,7 +388,8 @@ public class ZipUtil { * @since 3.2.2 */ public static File unzip(File zipFile, Charset charset) throws UtilException { - return unzip(zipFile, FileUtil.file(zipFile.getParentFile(), FileUtil.mainName(zipFile)), charset); + final File destDir = FileUtil.file(zipFile.getParentFile(), FileUtil.mainName(zipFile)); + return unzip(zipFile, destDir, charset); } /** @@ -459,6 +460,9 @@ public class ZipUtil { */ @SuppressWarnings("unchecked") public static File unzip(ZipFile zipFile, File outFile) throws IORuntimeException { + if(outFile.exists() && outFile.isFile()){ + throw new UtilException("Target path [{}] exist!", outFile.getAbsolutePath()); + } try { final Enumeration em = (Enumeration) zipFile.entries(); ZipEntry zipEntry; diff --git a/hutool-core/src/test/java/cn/hutool/core/util/ZipUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/ZipUtilTest.java index a26a51adc..206a24f7b 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/ZipUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/ZipUtilTest.java @@ -1,13 +1,12 @@ package cn.hutool.core.util; -import java.io.File; - +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.lang.Console; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.lang.Console; +import java.io.File; /** * {@link ZipUtil}单元测试 @@ -36,7 +35,7 @@ public class ZipUtilTest { File unzip = ZipUtil.unzip("f:/test/各种资源.zip", "f:/test/各种资源", CharsetUtil.CHARSET_GBK); Console.log(unzip); } - + @Test @Ignore public void unzipFromStreamTest() {