.getNameCount()使用String和URI创建Path时的结果不同

时间:2017-08-18 08:54:58

标签: java java-8 nio2

我正在读一本与OCP考试相关的书。我正在研究Path和URI并注意到一些奇怪的东西。这是我的代码:

    URI u1 = new URI("file://C:/Brother/DrvLangChg/LangList.ini");
    Path f = Paths.get("C:/Brother/DrvLangChg/LangList.ini");
    Path p1 = Paths.get(u1);
    for(int i = 0; i < p1.getNameCount(); i++) {
        System.out.print(p1.getName(i) + " ");
    }
    System.out.println(p1.getRoot());
    System.out.println();
    for(int i = 0; i < f.getNameCount(); i++) {
        System.out.print(f.getName(i)+" ");
    }
    System.out.println(p1.getRoot());

这是输出:

DrvLangChg LangList.ini \ C \ Brother \

兄弟DrvLangChg LangList.ini \ C \ Brother \

我注意到内部Java设置了一个类型&#34;文件&#34;使用URI时,类型为null,并带有String参数(我在Windows 10上)。

我对此感到有些困惑,我想更多地了解这种奇怪的(在我看来)行为,以及如果我使用Path,我应该注意什么。

编辑:明白了,感谢您的评论。

0 个答案:

没有答案