From aec10a7714a72ee038a9fa497e4e3726cfff1fc4 Mon Sep 17 00:00:00 2001 From: gxz <514190950@qq.com> Date: Wed, 9 Mar 2022 17:03:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9Bug:=E5=BD=93FileCopier?= =?UTF-8?q?=E7=9A=84=E7=9B=AE=E6=A0=87=E6=96=87=E4=BB=B6=E6=98=AF=E7=9B=B8?= =?UTF-8?q?=E5=AF=B9=E8=B7=AF=E5=BE=84=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E4=BC=9A=E5=87=BA=E7=8E=B0=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/hutool/core/io/file/FileCopier.java | 2 +- .../cn/hutool/core/io/FileCopierTest.java | 20 ++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/io/file/FileCopier.java b/hutool-core/src/main/java/cn/hutool/core/io/file/FileCopier.java index fbdc4938f..6f133f2e3 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/file/FileCopier.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/file/FileCopier.java @@ -268,7 +268,7 @@ public class FileCopier extends SrcToDestCopier{ }else { //路径不存在则创建父目录 //noinspection ResultOfMethodCallIgnored - dest.getParentFile().mkdirs(); + dest.getAbsoluteFile().getParentFile().mkdirs(); } final ArrayList optionList = new ArrayList<>(2); diff --git a/hutool-core/src/test/java/cn/hutool/core/io/FileCopierTest.java b/hutool-core/src/test/java/cn/hutool/core/io/FileCopierTest.java index 80c50288d..97f702638 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/FileCopierTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/FileCopierTest.java @@ -5,41 +5,51 @@ import org.junit.Test; import cn.hutool.core.io.file.FileCopier; +import java.io.File; + /** * 文件拷贝单元测试 * @author Looly * */ public class FileCopierTest { - + @Test @Ignore public void dirCopyTest() { FileCopier copier = FileCopier.create("D:\\Java", "e:/eclipse/eclipse2.zip"); copier.copy(); } - + @Test @Ignore public void dirCopyTest2() { //测试带.的文件夹复制 FileCopier copier = FileCopier.create("D:\\workspace\\java\\.metadata", "D:\\workspace\\java\\.metadata\\temp"); copier.copy(); - + FileUtil.copy("D:\\workspace\\java\\looly\\hutool\\.git", "D:\\workspace\\java\\temp", true); } - + @Test(expected = IORuntimeException.class) public void dirCopySubTest() { //测试父目录复制到子目录报错 FileCopier copier = FileCopier.create("D:\\workspace\\java\\.metadata", "D:\\workspace\\java\\.metadata\\temp"); copier.copy(); } - + @Test @Ignore public void copyFileToDirTest() { FileCopier copier = FileCopier.create("d:/GReen_Soft/XshellXftpPortable.zip", "c:/hp/"); copier.copy(); } + + @Test + @Ignore + public void copyFileByRelativePath(){ + // 当复制的目标文件位置是相对路径的时候可以通过 + FileCopier copier = FileCopier.create(new File("pom.xml"),new File("aaa.txt")); + copier.copy(); + } }