From 7d25da459f9cb0aaa03621a342d5e87b5c935d52 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 29 Dec 2020 16:54:53 +0800 Subject: [PATCH] fix #I2B0S1 --- CHANGELOG.md | 3 ++- .../src/main/java/cn/hutool/core/io/FileUtil.java | 15 ++++++++++++++- .../main/java/cn/hutool/core/util/ZipUtil.java | 2 +- .../extra/compress/extractor/StreamExtractor.java | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 130481550..304447f57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,13 @@ ------------------------------------------------------------------------------------------------------------- -# 5.5.6 (2020-12-28) +# 5.5.6 (2020-12-29) ### 新特性 * 【core 】 手机号工具类 座机正则表达式统一管理(pr#243@Gitee) ### Bug修复 +* 【core 】 修复ZipUtil.unzip从流解压关闭问题(issue#I2B0S1@Gitee) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java index d0b59ab37..b613959a0 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java @@ -2914,7 +2914,20 @@ public class FileUtil extends PathUtil { * @throws IORuntimeException IO异常 */ public static File writeFromStream(InputStream in, File dest) throws IORuntimeException { - return FileWriter.create(dest).writeFromStream(in); + return writeFromStream(in, dest, true); + } + + /** + * 将流的内容写入文件 + * + * @param dest 目标文件 + * @param in 输入流 + * @return dest + * @throws IORuntimeException IO异常 + * @since 5.5.6 + */ + public static File writeFromStream(InputStream in, File dest, boolean isCloseIn) throws IORuntimeException { + return FileWriter.create(dest).writeFromStream(in, isCloseIn); } /** 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 ea01d0763..88d02b4ed 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 @@ -644,7 +644,7 @@ public class ZipUtil { outItemFile.mkdirs(); } else { // 文件 - FileUtil.writeFromStream(zipStream, outItemFile); + FileUtil.writeFromStream(zipStream, outItemFile, false); } }); return outFile; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/compress/extractor/StreamExtractor.java b/hutool-extra/src/main/java/cn/hutool/extra/compress/extractor/StreamExtractor.java index 69e198c5b..040dcd5a5 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/compress/extractor/StreamExtractor.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/compress/extractor/StreamExtractor.java @@ -119,7 +119,7 @@ public class StreamExtractor implements Extractor{ //noinspection ResultOfMethodCallIgnored outItemFile.mkdirs(); } else { - FileUtil.writeFromStream(in, outItemFile); + FileUtil.writeFromStream(in, outItemFile, false); } } }