【发布时间】:2021-06-16 15:54:40
【问题描述】:
对于所有其他路径,sun.nio.fs.UnixPath 实现(其 getParent() 和 getFileName() 方法)似乎与 dirname 和 basename 实用程序基本兼容,这是任何 UNIX 系统的标准。
不过,对于 UNIX 文件系统的根,Paths.get("/").getParent() 和 Paths.get("/").getFileName() 都返回 null,这似乎不一致:
$ basename /
/
$ dirname /
/
此外,getFileName() 的行为与旧的 java.io.File 实现不同:
Paths.get("/").toFile().getName();
返回一个空字符串。
为什么?
【问题讨论】:
-
你的问题是“JDK为什么这样设计”或者“JDK是怎么这样设计的”?