1
277
有点迂回,但为什么不使用uri?它有一个相对化的方法,可以为您进行所有必要的检查。
请注意,对于文件路径
|
2
216
自Java 7以来,您可以使用 relativize 方法:
输出:
|
3
77
在编写时(2010年6月),这是唯一通过测试用例的解决方案。我不能保证这个解决方案是无缺陷的,但是它通过了包含的测试用例。我写的方法和测试取决于
用Java 1.4测试了该解决方案。如果使用Java 1.5(或更高),则应该考虑替换。
通过的测试用例是
|
4
25
当使用Java.NET.URI时,你应该意识到Java错误: JDK-6226081 (URI should be able to relativize paths with partial roots)
这实质上意味着
|
5
17
@peter mueller's answer中提到的错误由 URIUtils 在里面 Apache HttpComponents
|
6
12
在
爪哇8
你可以简单地做(与
|
7
10
如果知道第二个字符串是第一个字符串的一部分:
或者,如果您真的像在示例中那样希望在开始时使用句点:
|
8
10
递归产生一个较小的解决方案。如果结果不可能(例如不同的Windows磁盘)或不可行(根目录只是公用目录),则会引发异常。
|
9
7
以下是其他免费图书馆的解决方案:
输出
[编辑]实际上它输出更多..\因为源文件不是目录。正确的解决方案是:
|
10
6
|
11
5
MattB的解决方案使要回溯错误的目录数——它应该是基路径的长度减去公共路径元素的数量,减去1(对于最后一个路径元素,它要么是文件名,要么是尾随的
此外,它还需要
所有这些解决方案都缺乏处理路径的能力,因为它们有不兼容的根,例如
我在这件事上花的时间比我预想的要长,但没关系。我真的需要这个来工作,所以感谢所有参与进来的人,我相信这个版本也会有修正!
下面是几个案例的测试:
|
12
4
实际上,如果目标路径不是基路径的子路径,我的另一个答案就不起作用。 这应该有效。
|
13
3
酷!!我需要一些这样的代码,但用于比较Linux机器上的目录路径。我发现在以父目录为目标的情况下,这不起作用。 以下是方法的目录友好版本:
|
14
2
我假设你有 从路径 (文件夹的绝对路径),以及 托普思 (文件夹/文件的绝对路径),您要查找的路径 托普思 作为相对路径 从路径 (您当前的工作目录是 从路径 )这样就可以了:
|
15
1
这里已经有很多答案了,但是我发现它们并不能处理所有的情况,比如基础和目标是一样的。此函数以 目录 和目标路径,并返回相对路径。如果不存在相对路径,则返回目标路径。不需要file.separator。
|
16
0
这里有一个方法,它从基路径解析相对路径,而不管它们在同一根目录中还是在不同的根目录中:
|
17
0
通过了d_³_nal的测试,唯一的改变-如果没有公共根,它返回目标路径(它可能已经是相对的)
|
18
0
如果您正在编写Maven插件,可以使用
Plexus'
|
19
0
如果路径不适用于JRE 1.5运行时或Maven插件
|
20
-1
org.apache.ant有一个带有getrelativePath方法的fileutils类。我自己还没试过,但值得一试。 |
21
-1
|
22
-2
伪代码:
|
errerr · htaccess重写引擎URL解释 6 年前 |
user1 · 我的htaccess出现500错误 6 年前 |
aBlaze · 如何导航到包含\u的URL? 6 年前 |
gtershel · Laravel Url两级深 6 年前 |
MarcoLe · Angular 5-路由更改url但不导航 6 年前 |