This commit is contained in:
Looly 2022-01-17 18:05:32 +08:00
parent dd560ce5e3
commit 91e2eabd04
2 changed files with 8 additions and 1 deletions

View File

@ -3,7 +3,7 @@
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------
# 5.7.20 (2022-01-16) # 5.7.20 (2022-01-17)
### 🐣新特性 ### 🐣新特性
* 【core 】 增加对null值友好的groupingBy操作的Collector实现可指定map类型pr#498@Gitee * 【core 】 增加对null值友好的groupingBy操作的Collector实现可指定map类型pr#498@Gitee
@ -23,6 +23,7 @@
* 【core 】 修复CustomKeyMap的merge失效问题issue#2086@Github * 【core 】 修复CustomKeyMap的merge失效问题issue#2086@Github
* 【core 】 修复FileUtil.appendLines换行问题issue#I4QCEZ@Gitee * 【core 】 修复FileUtil.appendLines换行问题issue#I4QCEZ@Gitee
* 【core 】 修复java.time.Month解析问题issue#2090@Github * 【core 】 修复java.time.Month解析问题issue#2090@Github
* 【core 】 修复PathUtil.moveContent移动覆盖导致的问题issue#I4QV0L@Gitee
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------
# 5.7.19 (2022-01-07) # 5.7.19 (2022-01-07)

View File

@ -20,6 +20,7 @@ import java.nio.charset.Charset;
import java.nio.file.AccessDeniedException; import java.nio.file.AccessDeniedException;
import java.nio.file.CopyOption; import java.nio.file.CopyOption;
import java.nio.file.DirectoryStream; import java.nio.file.DirectoryStream;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.FileVisitOption; import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult; import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor; import java.nio.file.FileVisitor;
@ -516,6 +517,11 @@ public class PathUtil {
try { try {
return Files.move(src, target, options); return Files.move(src, target, options);
} catch (IOException e) { } catch (IOException e) {
if(e instanceof FileAlreadyExistsException){
// 目标文件已存在直接抛出异常
// issue#I4QV0L@Gitee
throw new IORuntimeException(e);
}
// 移动失败可能是跨分区移动导致的采用递归移动方式 // 移动失败可能是跨分区移动导致的采用递归移动方式
try { try {
Files.walkFileTree(src, new MoveVisitor(src, target, options)); Files.walkFileTree(src, new MoveVisitor(src, target, options));