Java:getResource图片,无法找到。

时间:2018-01-17 11:15:42

标签: java image path

我刚刚在Java中发现了一个错误(使用Eclipse)。我想将资源文件夹中的图像加载到应用程序中。使用以下几行:

URL url = this.getClass().getClassLoader().getResource("/resources/images/icon.png");
BufferedImage i = ImageIO.read(url);

但这导致java.lang.IllegalArgumentException: input == null!例外。

我的文件夹结构是:

folders

如何访问此图片?非常感谢你!

2 个答案:

答案 0 :(得分:1)

getResource()如果无法在类路径中找到资源,则会返回null

要使用getResource(),您需要资源在类路径上 。资源目录不在类路径上。在Eclipse中,您可以将resources文件夹添加到类路径中。或者在images下创建一个新的包srcServer,并将该图标从resources移出srcServer\images以及您的源代码。

另一种方法是使用File加载图像,而不是将其作为类路径资源加载。

答案 1 :(得分:0)

我相信它找不到资源的原因是由于你的语法。 getClass().getClassLoader().getResource()无需带领' /'并始终从类路径的根开始。 getClassLoader()。getResource()始终是绝对路径,而getClass()。getResource()是相对路径。

只需使用:

URL url = this.getClass().getResource("/images/icon.png");