From e2266f593f991e3dabaea7077d11e518988d086a Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 15 Feb 2023 17:39:08 +0800 Subject: [PATCH] fix bug --- .../src/main/java/cn/hutool/core/io/file/PathUtil.java | 3 ++- .../test/java/cn/hutool/core/io/file/PathUtilTest.java | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 76888bffe..84eb66659 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 @@ -511,7 +511,8 @@ public class PathUtil { Assert.notNull(src, "Src path must be not null !"); Assert.notNull(target, "Target path must be not null !"); - if(equals(src, target)){ + // issue#2893 target 不存在导致NoSuchFileException + if(Files.exists(target) && equals(src, target)){ // issue#2845,当用户传入目标路径与源路径一致时,直接返回,否则会导致删除风险。 return target; } diff --git a/hutool-core/src/test/java/cn/hutool/core/io/file/PathUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/io/file/PathUtilTest.java index 215ce5f46..1f960aa92 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/file/PathUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/file/PathUtilTest.java @@ -78,4 +78,13 @@ public class PathUtilTest { final String contentType = FileUtil.getMimeType("a001.7z"); Assert.assertEquals("application/x-7z-compressed", contentType); } + + /** + * issue#2893 target不存在空导致异常 + */ + @Test + @Ignore + public void moveTest2(){ + PathUtil.move(Paths.get("D:\\project\\test1.txt"), Paths.get("D:\\project\\test2.txt"), false); + } }