Что напечатает следующий фрагмент кода?
Path p1 = Paths.get("c:\\personal\\.\\photos\\..\\readme.txt");
Path p2 = Paths.get("c:\\personal\\index.html");
Path p3 = p1.relativize(p2);
System.out.println(p3);
Видимо ответ:
..\..\..\..\index.html
Но я не понимаю, как вообще. p1 начинается в c, затем в личный каталог. Тогда одна полная остановка означает текущий каталог. Затем в фотографии. Тогда двойная полная остановка означает перейти в каталог, поэтому вы должны вернуться к фотографиям. Затем readme.txt должен быть в папке с фотографиями. Который затем читался бы как c -> personal -> [current_directory] -> photos -> readme.txt.
Это означает, что вам нужно только три .. \ перед тем, как перейти к индексу. Как это четыре?