【发布时间】:2018-08-13 13:42:48
【问题描述】:
使用Java NIO Path 对象:
- 如果我有一个基本路径
b和一个相对路径r,要获得完整路径f,我可以调用b.resolve(r)。 - 如果我有完整路径
f和基本路径b,要获得相对路径r,我可以调用b.relativize(f)。 - 但是如果我有
f和r,并且想找到b,我该怎么办?
查看Path API,我看不到任何简单/直接的解决方案。我能想到的最好方法是同时对getParent() 和f 和r 进行迭代,直到r' 为空/null,然后f' 应该是b。但这似乎笨拙且效率低下。
我还尝试了基于f.subpath() 的解决方案,但该方法会剥离根组件(例如C:\)。
【问题讨论】:
-
@TheGuest
endsWith()可以告诉我r是否真的与f相关,这很有用,但我需要进行下一步并实际导出b跨度>