これはなぜでしょうか?Path.startsWithは、Linux上のWindowsファイルパスに対してfalseを返します
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]
私はUbuntuの上でJava 8を実行しているんだけど、これが発生する理由Path.startsWith
のjavadocについては何も説明しません。いずれのファイルパスも実際のファイルを含んでいません。私はjava.nio.file.PathのJavaのドキュメントからライン以下だと思い
私はこの種のことが起こっていると考えましたが、それでも何とか驚くような気がします。 – ben3000
関連するソースコードへのリンクをありがとう、私は間違ったセクションをステップ実行しようとしたため、これに気付かなかった。いい答えだ。 – ben3000
素晴らしい!答えに投票してください:-) – user987339