From d53ac7161641b04d038e61dc517f17aee99e0172 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 16 Jun 2023 19:19:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DFileUtil.checkSlip=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/core/io/FileUtil.java | 14 +------------- .../test/java/cn/hutool/core/io/FileUtilTest.java | 8 +++++++- 2 files changed, 8 insertions(+), 14 deletions(-) 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 ab9b68894..35663d8ee 100755 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java @@ -3459,25 +3459,13 @@ public class FileUtil extends PathUtil { */ public static File checkSlip(File parentFile, File file) throws IllegalArgumentException { if (null != parentFile && null != file) { - if (false == startsWith(parentFile, file)) { + if (false == isSub(parentFile, file)) { throw new IllegalArgumentException("New file is outside of the parent dir: " + file.getName()); } } return file; } - /** - * 检查父文件是否为文件真正的父目录 - * - * @param parentFile 父目录 - * @param file 文件 - * @return 是否为文件真正的父目录 - */ - public static boolean startsWith(final File parentFile, final File file) { - return PathUtil.toAbsNormal(parentFile.toPath()) - .startsWith(PathUtil.toAbsNormal(file.toPath())); - } - /** * 根据文件扩展名获得MimeType * 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 a0f2a197f..478501e7c 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 @@ -20,8 +20,14 @@ import java.util.List; */ public class FileUtilTest { + @Test + public void fileTest1() { + final File file = FileUtil.file("d:/aaa", "bbb"); + Assert.assertNotNull(file); + } + @Test(expected = IllegalArgumentException.class) - public void fileTest() { + public void fileTest2() { final File file = FileUtil.file("d:/aaa", "bbb"); Assert.assertNotNull(file);