java - URI 路径不是绝对异常 java(不是 android)

标签 java file exception path uri

我有如下一段源码

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)

附言不使用 uri 的 android 包

提前致谢=)

最佳答案

您正在尝试创建统一的资源标识符,但名称应遵循 url conventions .这意味着,有必要提供一个方案(查看 here ,以查看所有可用方案)。因此,在您的情况下,您必须使用字符串创建 URI,例如 file:/pic.png 或者可能是其他一些方案。

至于你的完整路径,可以这样做:

String string = "file:/C:/Users/Jurgen/newFile/myProject/pic.png";

关于java - URI 路径不是绝对异常 java(不是 android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32780096/

相关文章:

java - android中的密码验证确认

java - 尝试显示对话框时应用程序崩溃

java - java中如何在一个文件中写入多次?

java - 如何以良好的 Java 方式处理由 Exception 引起的问题

php - try/catch PHP 不捕获异常(laravel Controller )

java - 简单的 Spring EL 表达式不起作用;出现错误 TypeMismatchException

java - hibernate - ClassNotFoundException : com. mysql.jdbc.Driver

java - 如何使用泛型类型声明类 - Java 1.7

Android:我可以将单个 InputStream 用于多种方法吗?

java - 如何分割文件路径,路径和名称分开