这个问题在这个网站上已经被问了大约 100 次,但我已经查看了所有这些问题,尽管它们都得到了解决,但没有一个解决方案对我有用。
我的代码如下所示:
public Button1(Client client, String imgName) {
this.client = client;
try {
this.icon = ImageIO.read(this.getClass().getResourceAsStream("/resources/" + imgName));
} catch (IOException e) {
e.printStackTrace();
}
当代码运行时,会出现以下错误:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
字符串 imgName 从子类传递给构造函数,并且是图像的名称(例如 image.png)。我还确保我的资源文件夹位于项目文件夹的根目录中,并且作为源文件夹包含在 Eclipse 项目中。我也确定了System.getProperty("user.dir")
指向正确的位置。我也尝试过使用 getResource() 而不是 getResourceAsStream(),但它仍然不起作用。
尝试使用这个:-
this.icon = ImageIO.read(new FileInputStream("res/test.txt"));
where res
文件夹与您的文件夹处于同一级别src
文件夹。另外,如果你注意到的话,斜杠/
之前res
文件夹名称已删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)