Tworzenie ścieżki między dwiema ścieżkami w Javie przy użyciu klasy Path
Co dokładnie oznacza to zdanieto oracle java tutorial:
Ścieżki względnej nie można skonstruować, jeśli tylko jedna ze ścieżek zawiera element główny. Jeśli obie ścieżki zawierają element główny, możliwość skonstruowania ścieżki względnej zależy od systemu.
Czy w przypadku „system dipendent” mają one na myśli tylko to, że jeśli element zawiera root, będzie działał tylko w składni specyficznej dla platformy, która została napisana? Myślę, że to jedyna rzecz, którą mają na myśli. Czy są jakieś inne sposoby czytania?
na przykład :
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); }
}
Wyjątkiem, który otrzymuję używając „/ home / sally / bar” zamiast „home / sally / bar” (bez roota) jest ten:
java.lang.IllegalArgumentException: 'other' is different type of Path
Dlaczego to nie działa? jaki jest konflikt z systemem, który mają na myśli?