1)getDefault():返回默认的文件系统,默认的文件系统,创建的对象可以提供对“能被JVM访问的文件系统”的访问,它的工作目录是系统属性"user.dir"指定的目录,允许和File类的互操作性。
2)getFileSystem(URI uri):返回一个指向已存在的FileSystem的引用。如果找不到对应的已存在的FileSystem,则会抛出异常ProviderNotFoundException。
3)newFileSystem(URI uri, Map env):根据URI创建一个信息文件系统。遍历已安装的FileSystemProvider实例们,并根据uri的scheme (不区分大小写)从中找到对应的供应者。如果能找到,就调用该provider的相应方法去创建FileSystem;否则会抛出异常ProviderNotFoundException。
一旦文件系统关闭,根据provider的具体实现来决定,是否允许重新根据这个URI的scheme来创建一个文件系统。
4)newFileSystem(URI uri, Map env, ClassLoader loader):和上面的方法比,如果找不到对应的provider,会在抛出异常前先尝试根据给定的ClassLoader去定位provider。
5)newFileSystem(Path path, ClassLoader loader):构建一个文件系统去访问path指定的文件的内容。这个方法使用的是专门用来创建虚拟文件系统的providers,在它们创建的虚拟文件系统中一个或多个文件的内容被像文件系统一样对待。(这个地方翻译出来很奇怪,请参考JDK中的介绍:This method makes use of specialized providers that create pseudo file systems where the contents of one or more files is treated as a file system)。