package co.paralleluniverse.filesystem; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; import java.nio.file.Path; import java.nio.file.Paths; public class PathURLStreamHandler extends URLStreamHandler { public static final URLStreamHandler INSTANCE = new PathURLStreamHandler(); protected PathURLStreamHandler() { } @Override protected URLConnection openConnection(URL url) throws IOException { try { URI uri = url.toURI(); Path path = Paths.get(uri); return new PathURLConnection(url, path); } catch (URISyntaxException e) { throw new IOException("invalid URL", e); } } }