首页 >Java >java教程 >如何在Java中从绝对路径构造相对路径?

如何在Java中从绝对路径构造相对路径?

DDD
DDD原创
2024-12-08 04:56:10917浏览

How to Construct Relative Paths from Absolute Paths in Java?

在 Java 中从绝对路径构造相对路径

在 Java 中使用绝对路径时,有时可能需要创建一个基于另一个绝对路径的相对路径。本文演示了如何使用 URI 类及其 relativize 方法来实现此目的。

考虑以下两个绝对路径:

/var/data/stuff/xyz.dat
/var/data

创建使用第二个路径作为其的相对路径基础,请按照以下步骤操作:

  1. 使用 File 类和 toURI 将绝对路径转换为 ​​URI方法。
  2. 在表示基本路径的 URI 上调用 relativize 方法,并传入表示绝对路径的 URI。
  3. 从结果 URI 中检索路径组件以获得相对路径。

这里是一个示例代码片段:

String path = "/var/data/stuff/xyz.dat";
String base = "/var/data";
String relative = new File(base).toURI().relativize(new File(path).toURI()).getPath();
// relative == "stuff/xyz.dat"

此代码将产生“stuff/xyz.dat”的相对路径,这就是想要的结果。

值得注意的是,对于文件路径,Java 1.7 引入了 Path#relativize 方法,也可以用于此目的。

以上是如何在Java中从绝对路径构造相对路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn