java getResource()无效

时间:2012-09-15 18:37:54

标签: java url embedded-resource

这让我发疯了。 我在一个具有以下结构的文件夹中有一个NetBeans项目:

MyProject
---- build
---- src
---- resources

在src中,我的代码在包中。我想要做的是使用

getClass().getResource("/resources/new.png"); 

来自com.my.package包中的类,但它只是拒绝工作! “new.png”图像位于资源文件夹中。 我在这里错过了什么吗?

经过大量的游戏并在此处移动“new.png”图像以查看它何时会找到图像,它最终有效,但只有当我将图像放入构建文件夹时。 那么我该怎样做才能使这项工作?

编辑:抱歉,方法参数中的字符串错误。现在更正

2 个答案:

答案 0 :(得分:3)

我不熟悉NetBeans,但问题可能是resources文件夹(或项目的根目录)不在类路径上,与build不同。 / p>

您需要配置NetBeans以将根文件夹或resources添加到类路径,并相对于那里加载文件。

另请参阅此问题:Java - getClassLoader().getResource() driving me bonkers

答案 1 :(得分:0)

这很好用:

BufferedImage image = ImageIO.read(getClass().getClassLoader().getResourceAsStream("file_name"));