我在eclipse的java项目中有这样的结构:
- src/com/myprogram/.../foo.java
- res/icon.png
- 。项目
- ...
我知道你可以从一个罐子里加载一个图像
ImageIO.read(getClass().getResource("/res/icon.png"));
当您尝试使用 eclipse 直接运行应用程序时,问题就来了,因为(我猜)res 文件夹不在 src 文件夹中,您会得到一个null
URL
. 我想为源代码和资源设置单独的文件夹。
另外,我发现我可以res
在 eclipse 中将文件夹添加到类路径中,这样我就可以加载它:
URL url = getClass().getResource("/res/icon.png");
if (url == null)
url = getClass().getResource("/icon.png");
ImageIO.read(url);
但是这个添加代码只有在你开发的时候才需要,我不喜欢做这样的事情(代码应该尽可能的干净和最终)。
可以用相同的代码用两种方法读取图标吗?