java.nio.file.path:与名称计数不一致的行为?

在了解NIO2 API的行为的同时,我已经考虑到了这一点:

Path unix = Paths.get("/"); Path windows = Paths.get("c:\\"); System.out.println(unix.getNameCount()); System.out.println(windows.getNameCount()); 

给出输出

 0 1 

这是为什么? 我期望同样的结果,实际上应该是0因为没有名字,但只有一个根。 当我添加一个文件夹

 Path unix = Paths.get("/etc"); Path windows = Paths.get("c:\\etc"); System.out.println(unix.getNameCount()); System.out.println(windows.getNameCount()); 

然后我得到

 1 1 

这不是Windows的一部分混淆?

编辑:我自己在一台Linux机器上。

好的,现在我找到了正确的解释:

Path实例反映了底层平台。 在Solaris OS中,Path使用Solaris语法(/ home / joe / foo),而在Microsoft Windows中,Path使用Windows语法(C:\ home \ joe \ foo)。 路径不是系统独立的。

从这里: http : //docs.oracle.com/javase/tutorial/essential/io/pathClass.html

这意味着在我的情况下,在Linux机器上,路径"c:\\\\"将是我的工作目录中的相对文件夹的名称。