修复FileUtil.copyFile没有创建父目录导致的问题

This commit is contained in:
Looly 2024-04-24 13:22:46 +08:00
parent f1aab33dc1
commit c0807bfa49
3 changed files with 23 additions and 1 deletions

View File

@ -2,7 +2,7 @@
# 🚀Changelog
-------------------------------------------------------------------------------------------------------------
# 5.8.28(2024-04-22)
# 5.8.28(2024-04-24)
### 🐣新特性
* 【core 】 修正XmlUtil的omitXmlDeclaration描述注释issue#I9CPC7@Gitee
@ -23,6 +23,7 @@
* 【http 】 修复HttpRequest.header相同key被覆盖问题issue#I9I61C@Gitee
* 【core 】 修复TemporalAccessorConverter自定义格式转换问题issue#I9HQQE@Gitee
* 【cron 】 修复CronPattern.nextMatchAfter匹配初始值问题issue#I9FQUA@Gitee
* 【core 】 修复FileUtil.copyFile没有创建父目录导致的问题issue#3557@Github
-------------------------------------------------------------------------------------------------------------
# 5.8.27(2024-03-29)

View File

@ -217,6 +217,9 @@ public class PathUtil {
Assert.notNull(src, "Source is null !");
Assert.notNull(target, "Destination File or directory is null !");
// 创建级联父目录
mkParentDirs(target);
try {
Files.copy(src, target, options);
} catch (IOException e) {

View File

@ -0,0 +1,18 @@
package cn.hutool.core.io.file;
import cn.hutool.core.io.FileUtil;
import org.junit.Ignore;
import org.junit.Test;
import java.nio.file.StandardCopyOption;
public class Issue3557Test {
@Test
@Ignore
public void copyFileTest() {
// 如果只是文件不存在则不会报错
// 如果文件所在目录不存在则会报错
FileUtil.copyFile(FileUtil.getInputStream("d:/test/aaa.xlsx"), FileUtil.file("d:/test2/aaa_copy.xlsx"), StandardCopyOption.REPLACE_EXISTING);
}
}