co.paralleluniverse.filesystem.PathURLStreamHandler Maven / Gradle / Ivy
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);
}
}
}