URI 路径不是绝对异常 java(不是 android)
URI path not absolute exception java(not android)
我有如下一段源码
import java.net.URI;
import java.net.URISyntaxException;
File file = new File("pic.png");
BufferedImage image = ImageIO.read(file);
String string = "pic.png";
//the code works fine until here
URI path = new URI(string);
File f = new File(path);
ColorProcessor image = new ColorProcessor(ImageIO.read(f));
所以File得到的路径是正确的。图像也正确缓冲。
现在我的问题是我收到以下异常
Exception in thread "main" java.lang.IllegalArgumentException: URI is not absolute
at java.io.File.<init>(Unknown Source)
为什么我的路径不是绝对的?我该怎么做才正确?
如果我这样改变路径:
String string = "C:'\'Users'\'Jurgen'\'newFile'\'myProject'\'pic.png";
也试过这样
String string = "C:/Users/Jurgen/newFile/myProject/pic.png";
然后我得到一个新的异常
Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(Unknown Source)
P.S。不使用 uri
的 android 包
提前致谢=)
您正在尝试创建统一资源标识符,但名称应遵循 url conventions. This means, that it's necessary to provide a scheme (take a look here,以查看所有可用方案)。因此,在您的情况下,您必须使用字符串创建 URI,例如 file:/pic.png
或者可能是其他一些方案。
至于你的完整路径,可以这样写:
String string = "file:/C:/Users/Jurgen/newFile/myProject/pic.png";
我有如下一段源码
import java.net.URI;
import java.net.URISyntaxException;
File file = new File("pic.png");
BufferedImage image = ImageIO.read(file);
String string = "pic.png";
//the code works fine until here
URI path = new URI(string);
File f = new File(path);
ColorProcessor image = new ColorProcessor(ImageIO.read(f));
所以File得到的路径是正确的。图像也正确缓冲。 现在我的问题是我收到以下异常
Exception in thread "main" java.lang.IllegalArgumentException: URI is not absolute
at java.io.File.<init>(Unknown Source)
为什么我的路径不是绝对的?我该怎么做才正确?
如果我这样改变路径:
String string = "C:'\'Users'\'Jurgen'\'newFile'\'myProject'\'pic.png";
也试过这样
String string = "C:/Users/Jurgen/newFile/myProject/pic.png";
然后我得到一个新的异常
Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(Unknown Source)
P.S。不使用 uri
的 android 包提前致谢=)
您正在尝试创建统一资源标识符,但名称应遵循 url conventions. This means, that it's necessary to provide a scheme (take a look here,以查看所有可用方案)。因此,在您的情况下,您必须使用字符串创建 URI,例如 file:/pic.png
或者可能是其他一些方案。
至于你的完整路径,可以这样写:
String string = "file:/C:/Users/Jurgen/newFile/myProject/pic.png";