无法找到合适的图像路径

时间:2014-05-07 10:34:46

标签: java image

我只是用谷歌搜索并搜索了这个网站,找到了很多东西,但要么我不理解这个原则,要么我做错了。

实际上,Class和Image不在同一个目录中,但是为了便于测试,我把图像放在与我班级相同的文件夹中。

这两行:

ImageIcon img = new ImageIcon("gimmick_facepalm.png");

System.out.println(img.getIconWidth() + " " + img.getIconHeight());

输出总是-1 -1,所以我怀疑Java没有读入图像。

提示或解决方案将不胜感激:))

谢谢!

2 个答案:

答案 0 :(得分:2)

如果你没有指定一个绝对路径(即Windows下的C:/ ...),那么当前目录将是执行程序的目录,而不是类文件夹(例如你在eclipse中的项目根目录,或者在你调用“java”命令时的位置。)

此外,您可以访问类路径包中的文件,如下所示:

File file = new File(ClassLoader.getSystemResource("name/of/package/"+fileName).toURI());

或直接使用ImageIcon:

new ImageIcon(ClassLoader.getSystemResource("name/of/package/"+fileName));

答案 1 :(得分:0)

尝试

URL url = ClassLoader.getSystemResource("gimmick_facepalm.png");
ImageIcon img = new ImageIcon(url);

System.out.println(img.getIconWidth() + " " + img.getIconHeight());