如何从两个绝对路径(或URL)构建Java中的相对路径?

问题:

给定两个绝对路径,例如

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

如何创建一个使用第二条路径作为其基础的相对路径?在上面的例子中,结果应该是:./stuff/xyz.dat

回答:

这是一个小迂回,但为什么不使用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"

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to construct a relative path in Java from two absolute paths (or URLs)?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 2 = 6