操作路径

加入两条道路

可以使用 resolve() 方法连接路径。传递的路径必须是部分路径,这是不包含根元素的路径。

Path p5 = Paths.get("/home/");
Path p6 = Paths.get("arthur/files");
Path joined = p5.resolve(p6);
Path otherJoined = p5.resolve("ford/files");
joined.toString() == "/home/arthur/files"
otherJoined.toString() == "/home/ford/files"

规范化路径

路径可能包含元素 .(指向你当前所在的目录)和 ..(指向父目录)。

当在路径中使用时,可以随时移除 . 而不改变路径的目的地,并且可以将 .. 与前面的元素一起移除。

使用 Paths API,可以使用 .normalize() 方法完成:

Path p7 = Paths.get("/home/./arthur/../ford/files");
Path p8 = Paths.get("C:\\Users\\.\\..\\Program Files");
p7.normalize().toString() == "/home/ford/files"
p8.normalize().toString() == "C:\\Program Files"