Details
Description
After registering the FsUrlStreamHandlerFactory with the JVM, subsequent calls to convert a "file" URL to a URI can fail with "Illegal character in path" where the illegal character is a backslash.
For example:
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); File file = new File("C:/Users"); final URL url = new URL("file:///" + file.getAbsolutePath());
gives stack trace:
java.net.URISyntaxException: Illegal character in path at index 8: file:/C:\Users at java.net.URI$Parser.fail(URI.java:2848) at java.net.URI$Parser.checkChars(URI.java:3021) at java.net.URI$Parser.parseHierarchical(URI.java:3105) at java.net.URI$Parser.parse(URI.java:3053) at java.net.URI.<init>(URI.java:588) at java.net.URL.toURI(URL.java:946)