从本地文件夹加载应用程序中的图片
问题描述:
我在我的应用程序文件夹中:图像文件夹内有图像,我有运行的.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:没有协议:/home/images/first.jpg。 要添加什么像前缀,或者有更好的方式来加载URL图像?
答
对于本地文件的协议是“文件://”,然而在Windows上,您将需要添加一个额外的“/”
您可以在URL中这样开始时指定此:
String path="file:///" + System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg";
答
为什么你必须从网址加载图片?为什么不从路径加载它?这是你想要的?
反正你为什么不试着这么做:
String path= ="file://"+System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg";
答
理想的情况下,这些图片应该是罐内,并通过使用getResource()
或getResourceAsStream()
一个类加载器加载。
答
应该String path = file://"+ System.get...etc. ~
但是可能如果您加载它像它会更好:
URL url = this.getClass().getResouce("first.png");
你添加图片到classpath中。
不要捕获泛型异常...... – OscarRyz 2011-02-04 18:06:24
..并且当你确实捕获异常(任何类型)时,不要忽略它们。记录它们或转储堆栈跟踪。忽略异常就像试图用一只胳膊绑在背后进行调试,盲目折叠。 – 2011-02-04 18:29:07