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 7e25615a6..38096d235 100755 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java @@ -1058,7 +1058,7 @@ public class FileUtil extends PathUtil { /** * 通过JDK7+的 Files#copy(InputStream, Path, CopyOption...) 方法拷贝文件 * - * @param src 源文件 + * @param src 源文件流,使用后不关闭 * @param dest 目标文件或目录,如果为目录使用与源文件相同的文件名 * @param options {@link StandardCopyOption} * @return 目标文件 diff --git a/hutool-core/src/main/java/cn/hutool/core/io/file/PathUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/file/PathUtil.java index fc2a38e7f..e19be8359 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/file/PathUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/file/PathUtil.java @@ -196,13 +196,17 @@ public class PathUtil { if(src instanceof FileResource){ return copyFile(((FileResource) src).getFile().toPath(), target, options); } - return copyFile(src.getStream(), target, options); + try(InputStream stream = src.getStream()){ + return copyFile(stream, target, options); + } catch (IOException e) { + throw new RuntimeException(e); + } } /** * 通过JDK7+的 {@link Files#copy(InputStream, Path, CopyOption...)} 方法拷贝文件 * - * @param src 源文件流 + * @param src 源文件流,使用后不闭流 * @param target 目标文件或目录,如果为目录使用与源文件相同的文件名 * @param options {@link StandardCopyOption} * @return 目标Path