Java Can';找不到合适的图像路径
我只是在谷歌上搜索了一下这个网站,发现了很多东西,但不是我不懂原理就是我做错了 实际上,类和映像不在同一个目录中,但为了便于测试,我将映像放在与类相同的文件夹中 这是两条线:Java Can';找不到合适的图像路径,java,image,Java,Image,我只是在谷歌上搜索了一下这个网站,发现了很多东西,但不是我不懂原理就是我做错了 实际上,类和映像不在同一个目录中,但为了便于测试,我将映像放在与类相同的文件夹中 这是两条线: ImageIcon img = new ImageIcon("gimmick_facepalm.png"); System.out.println(img.getIconWidth() + " " + img.getIconHeight()); 输出总是-1-1,所以我怀疑Java没有读取图像 提示或解决方案将不胜感激
ImageIcon img = new ImageIcon("gimmick_facepalm.png");
System.out.println(img.getIconWidth() + " " + img.getIconHeight());
输出总是-1-1,所以我怀疑Java没有读取图像
提示或解决方案将不胜感激:)
谢谢 如果不指定绝对路径(即windows下的C:/…),则当前目录将是执行程序的目录,而不是类文件夹(例如eclipse中的项目根目录,或调用“java”命令时的目录) 此外,您可以访问类路径包中的文件,如下所示:
File file = new File(ClassLoader.getSystemResource("name/of/package/"+fileName).toURI());
或直接使用ImageIcon:
new ImageIcon(ClassLoader.getSystemResource("name/of/package/"+fileName));
试一试
使用绝对路径,而不仅仅是图像名称。查看Java的和类。好的,但由于我们是一个使用git的团队,绝对路径会给其他每个成员带来问题,因为他们不使用相同的文件夹下载到project ToTanks以获得答案,但甚至不包括
ImageIcon imageFacepalm=new ImageIcon(ClassLoader.getSystemResource(filename));
其中filename是一个字符串,图像名称位于同一目录下。这是为什么?@N30请仔细查看:您需要将程序包以路径形式放在文件前面,即“com/myapp/gimmick_facepalm.png”谢谢大家,但当真正的问题是PEBKAC时,所有的帮助都不起作用。我记得将图像保存为.png,但实际上是.jpg.DOH!尽管如此,感谢大家的努力!(除此之外,我还必须将src/添加到我使用过的任何相对路径中)
URL url = ClassLoader.getSystemResource("gimmick_facepalm.png");
ImageIcon img = new ImageIcon(url);
System.out.println(img.getIconWidth() + " " + img.getIconHeight());