Service-provider class for file systems. The methods defined by the
java.nio.file.Files class will typically delegate to an instance of this
A file system provider is a concrete implementation of this class that
implements the abstract methods defined by this class. A provider is
identified by a
scheme. The default provider
is identified by the URI scheme "file". It creates the
provides access to the file systems accessible to the Java virtual machine.
FileSystems class defines how file system providers are located
and loaded. The default provider is typically a system-default provider but
may be overridden if the system property
java.nio.file.spi.DefaultFileSystemProvider is set. In that case, the
provider has a one argument constructor whose formal parameter type is
FileSystemProvider. All other providers have a zero argument constructor
that initializes the provider.
A provider is a factory for one or more
FileSystem instances. Each
file system is identified by a
URI where the URI's scheme matches
scheme. The default file system, for example,
is identified by the URI
"file:///". A memory-based file system,
for example, may be identified by a URI such as
newFileSystem method may be used to create a file
system, and the
getFileSystem method may be used to
obtain a reference to an existing file system created by the provider. Where
a provider is the factory for a single file system then it is provider dependent
if the file system is created when the provider is initialized, or later when
newFileSystem method is invoked. In the case of the default
FileSystem is created when the provider is initialized.
All of the methods in this class are safe for use by multiple concurrent threads.