This question already has answers here:
How to construct a relative path in Java from two absolute paths (or URLs)?
(22个答案)
20天前关闭。
如果我有一个路径/ a / b / c / d / e并且我想从根目录中删除一些路径-例如,从中删除/ a / b / c以获得/ d / e,这很简单在python中
问题是如何在Java中完成此操作。
到目前为止,我想到的最好的主意是为每个对象创建一个Path,创建一个迭代器,在其上循环并创建一个Path数组。
然后检查每个数组的大小(在上面的示例中为5和3),然后从第4个位置重建路径...
非常麻烦
Source
(22个答案)
20天前关闭。
如果我有一个路径/ a / b / c / d / e并且我想从根目录中删除一些路径-例如,从中删除/ a / b / c以获得/ d / e,这很简单在python中
os.path.relpath("/a/b/c/d/e", "/a/b/c")
问题是如何在Java中完成此操作。
到目前为止,我想到的最好的主意是为每个对象创建一个Path,创建一个迭代器,在其上循环并创建一个Path数组。
然后检查每个数组的大小(在上面的示例中为5和3),然后从第4个位置重建路径...
非常麻烦
最佳答案
在Groovy中:
def rootPath = new File('/a/b')
def fullPath = new File('/a/b/c/d')
def relPath = new File(root.toURI().relativize(full.toURI()).toString())
Source
09-07 05:50