From b212fdc685b71d346070a72495bf58ca5fb39d94 Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 15 Jan 2023 11:35:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DFileUtil=E7=9A=84rename?= =?UTF-8?q?=E5=9C=A8newName=E4=B8=8E=E5=8E=9F=E6=96=87=E4=BB=B6=E5=A4=B9?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E4=B8=80=E6=A0=B7=E6=97=B6=EF=BC=8C=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9=E4=BC=9A=E8=A2=AB=E5=88=A0=E9=99=A4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../src/main/java/cn/hutool/core/io/file/PathUtil.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7daa118a..7d9b0f279 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ ### 🐞Bug修复 * 【core 】 修复HexUtil.isHexNumber()对"-"的判断问题(issue#2857@Github) * 【core 】 修复FileTypeUtil判断wav后缀的录音文件类型不能匹配问题(pr#2834@Github) +* 【core 】 修复FileUtil的rename在newName与原文件夹名称一样时,文件夹会被删除问题(issue#2845@Github) ------------------------------------------------------------------------------------------------------------- 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 7c1cd4955..f4f11e80f 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 @@ -488,6 +488,11 @@ 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#2845,当用户传入目标路径与源路径一致时,直接返回,否则会导致删除风险。 + return target; + } + if (isDirectory(target)) { target = target.resolve(src.getFileName()); }