Java URL:未知协议“C”

时间:2011-12-12 12:59:24

标签: java file url

我知道在SO上有这些类似的问题(如this一个),但是,在阅读了“具有相似标题的问题”列表后,我仍然感到强烈这是独特的。

我正在使用iText库从Swing应用程序内部生成PDF。 iText的Jpeg类在其构造函数中需要URL才能找到要添加到PDF文件的图像/ jpg。

当我将此URL设置为JPG文件的绝对文件路径时,我得到MalformedURLException声称未知协议:c (“c”是{{ 1}}在我的本地磁盘上驱动。)

是否有任何黑客/规避,或者我 在某处主持此JPG并让C:\通过网络找到它?这是失败的代码:

URL

请注意: try { String imageUrl = "C:\Users\MyUser\image.jpg"; Jpeg image = new Jpeg(new URL(imageUrl)); } catch(Exception exc) { System.out.println(exc.getMessage()); } 正确转义字符串(因此“\”会转换为“\ \”等)。

提前致谢!

4 个答案:

答案 0 :(得分:73)

您需要将image.jpg文件的路径转换为file:// URL,如下所示:

String imageUrl = "file:///C:/Users/MyUser/image.jpg";

否则它会将C解释为URL协议。

答案 1 :(得分:9)

尝试

String imageUrl = "file:///C:/Users/MyUser/image.jpg";

答案 2 :(得分:4)

试试这个

try {
    String imageUrl = "file:///C:/Users/MyUser/image.jpg";
    Jpeg image = new Jpeg(new URL(imageUrl));
} catch(Exception exc) {
    System.out.println(exc.getMessage());
}

答案 3 :(得分:0)

搜索文件及其目录,并添加图像以分配给ImageView

File file = new File("F:/a.jpg");
Image image = new Image(arquivo.toURI().toString()); //here is magic happens
imageView.setImage(image);