为什么java.nio.files.Path中没有Path构造函数?

时间:2015-01-20 08:46:56

标签: java io path

Path类没有记录的构造函数,但是可以通过创建实例。 Paths.get( "...." )这是FileSystems.getDefault().getPath( "..." )的简写。那么有人可以解释这个设计的决定吗?

1 个答案:

答案 0 :(得分:4)

  

有人可以解释这个设计决定吗?

这是因为JSR 203允许从多个FileSystem发出路径,与File不同,FileSystems.getDefault().getPath()始终链接到JVM所在的文件系统。在JSR 203中,此文件系统称为默认文件系统。您可以使用FileSystems.getDefault()获取对它的引用。

使用Paths.get()从默认文件系统获取路径,该路径严格等同于Path。如果您要从其他文件系统获取FileSystem,则可以使用此特定文件系统的.getPath()

作为{{1}}可用于(几乎)任何事物的证明,以下是不同来源的一些实现:

还有其他一些。