public static FileSystem newFileSystem (Path path, ClassLoader loader) throws IOException

Constructs a new FileSystem to access the contents of a file as a file system.

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.

This method iterates over the FileSystemProvider.installedProviders() providers. It invokes, in turn, each provider's newFileSystem(Path,Map) method with an empty map. If a provider returns a file system then the iteration terminates and the file system is returned. If none of the installed providers return a FileSystem then an attempt is made to locate the provider using the given class loader. If a provider returns a file system then the lookup terminates and the file system is returned.

Parameters:
path     the path to the file
loader     the class loader to locate the provider or null to only attempt to locate an installed provider

Returns:  a new file system

Exceptions:
ProviderNotFoundException     if a provider supporting this file type cannot be located
ServiceConfigurationError     when an error occurs while loading a service provider
IOException     if an I/O error occurs
SecurityException     if a security manager is installed and it denies an unspecified permission