java相对路径校验方法
匿名提问者2023-09-13
java相对路径校验方法
推荐答案
用java.nio.file.Path类。下面是一个示例代码,展示了如何使用Path类进行相对路径校验:
import java.nio.file.Path;
import java.nio.file.Paths;
public class PathValidator {
public static boolean validateRelativePath(String path) {
Path relativePath = Paths.get(path).normalize(); // 将相对路径转化为规范路径
Path absolutePath = Paths.get("").toAbsolutePath().resolve(relativePath);
// 检查绝对路径和规范路径是否相同
return absolutePath.equals(Paths.get("").toAbsolutePath().normalize().resolve(relativePath));
}
public static void main(String[] args) {
String relativePath = "../folder/file.txt"; // 要校验的相对路径
boolean isValid = validateRelativePath(relativePath);
if (isValid) {
System.out.println("相对路径有效。");
} else {
System.out.println("相对路径无效。");
}
}
}
在上述示例中,我们首先通过Paths.get(path)方法将相对路径转化为Path对象,并使用normalize方法将其转化为规范路径。然后,我们获取当前工作目录的绝对路径,并使用resolve方法将其与相对路径拼接成绝对路径。最后,我们比较绝对路径和规范路径是否相同,来验证相对路径的有效性。
在示例的main方法中,我们使用了一个相对路径../folder/file.txt进行校验。你可以根据需要替换为自己的相对路径。运行代码后,将输出相应的校验结果。
通过使用java.nio.file.Path类,我们可以更加简洁地校验相对路径的有效性。如果你想了解更多关于Path类的方法和用法,可以查阅Java官方文档。