Path 常用方法介绍

Path 常用方法介绍

一、Path

1、路径构建

支持多级目录
当路径为相对路径时,构建的路径基于用于工作目录(System.getProperty("user.dir"));当路径为绝对路径时,构建的路径为绝对路径

1
2
3
Paths.get("path");
Paths.get("path", "test");
Paths.get("/home", "path")

2、resolveresolveSibling组合路径

this.resolve(other):
other可以为Path也可以为字符路径

  • 如果other是绝对路径,则结果就是other
  • 如果other是相对路径,则结果为 this + other 构成的路径
    1
    2
    3
    4
    5
    6
    7
    Path base = Paths.get("/home/path");
    Path target = base.resolve("work");
    输出:/home/path/work

    Path base = Paths.get("/home/path");
    Path target = base.resolve("/home/work");
    输出:/home/work

this.resolveSibling(other):
解析指定路径的父路径产生其兄弟路径

  • 如果other是绝对路径,则结果就是other
  • 如果other是相对路径,则结果为this的父路径拼接other
    1
    2
    3
    4
    5
    6
    7
    Path base = Paths.get("/home/path");
    Path target = base.resolveSibling("work");
    输出:/home/work

    Path base = Paths.get("/home/path");
    Path target = base.resolveSibling("/home/work");
    输出:/home/work

3、relativize相对路径解析

相对于other的路径,即有当前路径访问other的相对路径

1
2
3
4
Path base = Paths.get("/home/path");
Path other = Paths.get("/home/user/work");
Path target = base.relativize(other);
输出:../user/work

4、toAbsolutePath转为绝对路径

生成的绝对路径可能会包含.,..
例如基于relativize生成的绝对路径为:/Users/user/Workspace/../user/work

5、normalize路径格式化

移除路径中的.,..等冗余的路径元素

1
对 /Users/user/Workspace/../user/work 执行normalize后 /Users/user/user/work

6、其他

getParent:返回父路径或者null
getFileName:返回该路径的最后一个部件
getRoot:返回该路径的根路径


Path 常用方法介绍
https://probiecoder.cn/java/file.html
作者
duwei
发布于
2025年4月22日
许可协议