From 3fb46830bf4fe7f6ff44132ec9e6278500f227b6 Mon Sep 17 00:00:00 2001 From: justmehyp Date: Wed, 16 Dec 2020 16:43:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=9B=B8=E5=AF=B9=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java | 2 +- .../src/test/java/cn/hutool/core/io/FileUtilTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java index 2eccd286e..7b06ca8be 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java @@ -3194,7 +3194,7 @@ public class FileUtil extends PathUtil { public static boolean isSub(File parent, File sub) { Assert.notNull(parent); Assert.notNull(sub); - return sub.toPath().startsWith(parent.toPath()); + return sub.toPath().toAbsolutePath().normalize().startsWith(parent.toPath().toAbsolutePath().normalize()); } /** diff --git a/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java index 43de63973..2980d0890 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java @@ -384,4 +384,11 @@ public class FileUtilTest { File file2 = new File("d:/test2/aaa"); Assert.assertFalse(FileUtil.isSub(file, file2)); } + + @Test + public void isSubRelativeTest() { + File file = new File(".."); + File file2 = new File("."); + Assert.assertTrue(FileUtil.isSub(file, file2)); + } }