Почему это должно быть?
Path parent1 = Paths.get("/flugel/borf/noggin");
Path child1 = Paths.get("/flugel/borf/noggin/foo/bar/baz.jpg");
System.out.println("child1 startsWith parent1? " + child1.startsWith(parent1));
System.out.println(child1.getFileSystem());
System.out.println(parent1.getFileSystem());
Path parent2 = Paths.get("C:\\foo");
Path child2 = Paths.get("C:\\foo\\bar\\baz.jpg");
System.out.println("child2 startsWith parent2? " + child2.startsWith(parent2));
System.out.println(child2.getFileSystem());
System.out.println(parent2.getFileSystem());
возвращает
child1 startsWith parent1? true
[email protected]
[email protected]
child2 startsWith parent2? false
[email protected]
[email protected]
Я запускаю Java 8 на Ubuntu, но ничего о javadocs для Path.startsWith
не объясняет, почему это происходит. Ни путь файла не содержит никаких реальных файлов.