public static FileSystem newFileSystem (URI uri, Map<String, ?> env, ClassLoader loader) throws IOException

Constructs a new file system that is identified by a URI

This method first attempts to locate an installed provider in exactly the same manner as the newFileSystem(URI,Map) method. If none of the installed providers support the URI scheme then an attempt is made to locate the provider using the given class loader. If a provider supporting the URI scheme is located then its newFileSystem(URI,Map) is invoked to construct the new file system.

Parameters:
uri     the URI identifying the file system
env     a map of provider specific properties to configure the file system; may be empty
loader     the class loader to locate the provider or null to only attempt to locate an installed provider

Returns:  a new file system

Exceptions:
IllegalArgumentException     if the pre-conditions for the uri parameter are not met, or the env parameter does not contain properties required by the provider, or a property value is invalid
FileSystemAlreadyExistsException     if the URI scheme identifies an installed provider and the file system has already been created
ProviderNotFoundException     if a provider supporting the URI scheme is not found
ServiceConfigurationError     when an error occurs while loading a service provider
IOException     an I/O error occurs creating the file system
SecurityException     if a security manager is installed and it denies an unspecified permission required by the file system provider implementation