java - 获取绝对 java.nio.Path

标签 java file java-8

有没有办法获得绝对的 java.nio.Path ? 我有一个从 Path path3 = path1.relativize(path2); 检索到的相对路径 path3 我想再次从 path1path3 获取 path2

path1.resolve(path3) 会返回 path2 吗?

例如path1.resolve(path3):
如果 path1C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web
path3..\..\..\..\Pictures\BxqfOHfIIAApI.png
然后 path2 包含 C:\Users\ABC\Documents\NetBeansProjects\JSF Sample\web\..\..\..\..\Pictures\BxqfOHfIIAApI.png

如何获取path2C:\Users\ABC\Pictures\BxqfOHfIIAApI.png

最佳答案

path1.resolve(path3) 将为您提供一个等价但不一定等于 path2 的路径。您可能想改为执行 path1.resolve(path3).normalize()

path1 = Paths.get("/var");
path2 = Paths.get("/tmp");

path3 = path1.relativize(path2);  // path3 is "../tmp"
path4 = path1.resolve(path3);     // path4 is "/var/../tmp"

path5 = path4.normalize();        // path5 is "/tmp"

编辑: 根据您编辑中的其他信息, normalize() 正是您想要的。

关于java - 获取绝对 java.nio.Path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644933/

相关文章:

javascript - 如何构建一个每天调用另一个javascript文件的Java文件?

java - 如何使用自签名证书(使用 Java keytool 创建)将 WS-Security 添加到 SOAP Web 服务?

html - 如何在 Firefox 中设置文件输入字段的样式?

java - 将字符串转换为 map 列表

java - 在 Java 中从 Optional->List->List 转换的链方法

java - 从spring-boot-admin-server 1.4.6升级到1.5.2后的RestClientException

java - Spring 请求映射 - 将所有 GET 请求映射到唯一端点

JavaScript 从要上传的 FileList 中删除文件

java - 使用 RandomAccessFile 删除文件内容

Java 8 对象列表以映射 <String, List> 的值