如何构造“零元素”路径?

时间:2018-08-29 06:09:38

标签: java file nio

我要编写一个自定义FileVisitor的测试,该测试需要路径的文件名。

Path's getFileName的文档阅读

  

返回:       表示文件或目录名称的路径;如果该路径包含零个元素,则为null

除了使用模拟程序外-我会尝试避免这种情况-如何构造零元素的路径?

  • Paths.get(“”)-需要一个非null参数,空字符串是一个元素
  • new File(“”)。toPath()-还需要一个非null参数,空字符串也是一个元素
  • 诸如Paths.get(“。”)或Paths.get(“ ./”)之类的元素也都具有非零元素

对于所有这些,文件名永远不会为空。

可能是Java中WindowsFileSystem实现的行为。 是否有人知道FileSystem的其他实现是否表现不同,并且实际上有可能getFileName()返回null?

1 个答案:

答案 0 :(得分:1)

(至少在OSX上)java.nio.file.Paths.get('/')导致这样的零元素sun.nio.fs.UnixPath