-
Sub-task
-
Resolution: Delivered
-
P4
-
13
-
Verified
Three new methods have been added to `java.nio.file.FileSystems` to make it easier to use file system providers that treat the contents of a file as a file system.
- `newFileSystem(Path)`
- `newFileSystem(Path, Map<String, ?>)`
- `newFileSystem(Path, Map<String, ?>, ClassLoader)`
The addition of `newFileSystem(Path, Map<String, ?>)` creates a source (but not binary) compatibility issue for code that has been using the existing 2-arg `newFileSystem(Path, ClassLoader)` and specifying the class loader as `null.` For example, the following cannot be compiled because the reference to `newFileSystem` is ambiguous:
`FileSystem fs = FileSystems.newFileSystem(path, null);`
To avoid the ambiguous reference, this code needs to be modified to cast the second parameter to `java.lang.ClassLoader`.
- `newFileSystem(Path)`
- `newFileSystem(Path, Map<String, ?>)`
- `newFileSystem(Path, Map<String, ?>, ClassLoader)`
The addition of `newFileSystem(Path, Map<String, ?>)` creates a source (but not binary) compatibility issue for code that has been using the existing 2-arg `newFileSystem(Path, ClassLoader)` and specifying the class loader as `null.` For example, the following cannot be compiled because the reference to `newFileSystem` is ambiguous:
`FileSystem fs = FileSystems.newFileSystem(path, null);`
To avoid the ambiguous reference, this code needs to be modified to cast the second parameter to `java.lang.ClassLoader`.