Path 类没有记录的构造函数,但可以通过以下方式创建实例。Paths.get( "...." )
这是FileSystems.getDefault().getPath( "..." )
。那么有人可以解释这个设计决策吗?
有人可以解释这个设计决定吗?
这是因为 JSR 203 允许从多个路径发出FileSystem http://docs.oracle.com/javase/8/docs/api/java/nio/file/FileSystem.html,不像File
,它始终链接到 JVM 所在的文件系统。在 JSR 203 中,该文件系统称为默认文件系统。您可以使用它来获取参考FileSystems.getDefault() http://docs.oracle.com/javase/8/docs/api/java/nio/file/FileSystems.html#getDefault--.
You use Paths.get() http://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html#get-java.lang.String-java.lang.String...-从默认文件系统获取路径,这严格相当于FileSystems.getDefault().getPath()
。如果你要得到一个Path
从另一个文件系统,您将使用该特定文件系统的.getPath() http://docs.oracle.com/javase/8/docs/api/java/nio/file/FileSystem.html#getPath-java.lang.String-java.lang.String...-.
作为一个证明FileSystem
可以用于(几乎)任何东西,以下是不同来源的一些实现:
-
在记忆中 https://github.com/marschall/memoryfilesystem;
-
FTP https://github.com/fge/java7-fs-ftp;
-
SMB/CIFS http://sourceforge.net/projects/jcifsfilesystem/;
-
Dropbox https://github.com/fge/java7-fs-dropbox.
还有其他一些。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)