我已经搜索了该站点,并且一直在寻找有关解决此问题的解决方案,但是没有人提供可更改发生错误的解决方案。我无法指出问题所在。与此类似的问题都没有帮助。
我将从我拥有的代码开始
public static BufferedImage getImage(String uri) throws IOException {
BufferedImage image = null;
image = ImageIO.read(ImageLoader.class.getResource(uri));
return image;
}
我在哪里调用方法
try {
sprite = ImageLoader.getImage("images/testSprite.png");
} catch (IOException e) {
e.printStackTrace();
}
返回的错误是原始方法中ImageIo.read行上的IllegalArgumentException input == null。
作为序言,我尝试了所有可以想象的文件命名顺序。我尝试了它,包括res,我的资源文件夹的名称(开头和结尾都带有斜杠),在前面的图像之前都用斜杠进行了尝试,包含了我要访问的图像的文件夹以及简单的名称再加上或不加上斜线。
我使用Eclipse的“构建路径”在Project文件夹中创建了我的res文件夹,但是如果查看.zip,它不包含我包含的文件夹,甚至是src文件夹,但它确实包含所有src文件夹中的类文件。我很困惑为什么会这样。
我真的想对我在这里做错的事情有所了解。
编辑:在尝试了几乎所有可以想象的内容之后,我终于明白了。该文件夹需要创建为包,并且图像需要放置在包中。编译器似乎未选择源文件夹或普通文件夹。只需将软件包添加到源文件夹中即可加载图像。