什么不正是从this甲骨文的Java教程中的意思是这句话:使用Path类在Java中创建两个路径之间的路径
相对路径不能构建如果仅路径 的一个包括根元素。如果两个路径都包含一个根元素,则构建相对路径的能力与系统有关。
对于“系统相关”,它们是否仅仅意味着如果一个元素包含一个根,它将只能在已写入的平台特定语法中起作用? 我想这是他们唯一的意思。 有没有其他的阅读方式?
例如:
public class AnotherOnePathTheDust {
public static void main (String []args)
{
Path p1 = Paths.get("home");
Path p3 = Paths.get("home/sally/bar"); //with "/home/sally/bar" i would get an exception.
// Result is sally/bar
Path p1_to_p3 = p1.relativize(p3);
// Result is ../..
Path p3_to_p1 = p3.relativize(p1);
System.out.println(p3_to_p1); }
}
,我用得到的异常 “的/ home /萨利/条”,而不是 “家庭/萨利/条”(无根)是这一个:
java.lang.IllegalArgumentException: 'other' is different type of Path
它为什么不起作用?他们的意思是与系统有什么冲突?
为了记录在案,我在Ubuntu Linux操作系统接收到这个问题。但我认为这与第一部分有关 - 在哪里是绝对的,哪一个不是。 – 2014-05-07 19:27:41
@Brad Lee - 你的意思是你得到了包含root的两个路径的异常? – macias 2014-05-08 04:50:26
我刚刚发现,如果一个路径包含“file:/ home”和其他“/ home”,我在尝试在Linux上相对化时遇到同样的错误 – Cristiano 2015-07-31 10:58:12