【发布时间】:2020-10-05 01:36:12
【问题描述】:
我想看看两条路径中的一条是否在另一条路径中。
这到底是什么意思?我最初给出了两条路径,我想看看这两条路径中的一条是否指向另一条路径中的文件夹。
我认为最简单的方法如下:
path1.startsWith(path2) || path2.startsWith(path1)
这段代码是用 Kotling 编写的。
例子:
path1 = C:\Users\username\baeldung\bar
patht = C:\Users\username
这应该返回 true。如果我切换path1和path2,结果也应该是真的。
现在我想到了一个问题,因为我正在比较路径,这些路径是否必须是规范的,如果是,我的比较方法是否仍然适用于规范路径?据我所知,两条路径都不使用.. 或.。
因为我的程序应该在 Windows 和 Linux 机器上运行,不幸的是我不知道 Linux 机器上的路径与 Windows 路径有何不同。
【问题讨论】:
-
天真的解决方案是通过 path.separator 分割路径并比较结果数组,但需要注意的是您可能需要处理根部分。
标签: java linux windows kotlin path