从本地文件夹加载app中的图片

时间:2011-02-04 17:26:32

标签: java

我在我的app文件夹里面:图像文件夹里面有图像,我有.jar文件,我运行。我需要从图像文件夹中加载图片。我有从URL加载图片的方法,我尝试了

String path=System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg";
try{
URL url=new URL(path);
}
catch(Exception exc){
}

但是我收到错误java.net.MalformedURLException:no protocol:/home/images/first.jpg。 添加什么内容,如前缀,还是有更好的方法来加载URL图像?

4 个答案:

答案 0 :(得分:1)

对于本地文件,协议为“file://”,但在Windows上,您需要添加额外的“/”

您可以在网址的开头指定此内容,如下所示:

String path="file:///" + System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg";

答案 1 :(得分:1)

为什么必须从网址加载图片?为什么不从路径加载它?你想要的是什么?

无论如何,你为什么不尝试这样的事情:

String path= ="file://"+System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg";

答案 2 :(得分:1)

理想情况下,这些图片应位于jar中,并使用getResource()getResourceAsStream()通过类加载器加载。

答案 3 :(得分:1)

应为String path = file://"+ System.get...etc. ~

但是如果加载它可能会更好:

URL url = this.getClass().getResouce("first.png");

然后将图像添加到类路径中。