Path 类没有记录在案的构造函数,但可以通过它创建实例。 Paths.get( "...")
是 FileSystems.getDefault().getPath( "...")
的简写。那么有人可以解释这个设计决策吗?
最佳答案
can someone explain this design decision?
这是因为 JSR 203 允许从多个 FileSystem
发出路径,与 File
不同,后者始终链接到 JVM 所在的文件系统。在 JSR 203 中,此文件系统称为默认文件系统。您可以使用 FileSystems.getDefault()
获得对它的引用.
您使用 Paths.get()
从默认文件系统获取路径,这严格等同于 FileSystems.getDefault().getPath()
。如果您要从另一个文件系统获取 Path
,您将使用此特定文件系统的 .getPath()
.
作为 FileSystem
可以用于(几乎)任何事物的证明,这里有一些不同来源的实现:
还有一些其他的。
关于java - 为什么java.nio.files.Path中没有Path构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28040971/