执行以下代码时, imgURL 始终设为 NULL :
try {
URL imgURL = getClass().getResource("assets/image.png");
System.out.println(imgURL);
BufferedImage sheet = ImageIO.read(imgURL);
} catch (IOException e) {
System.out.println("Image failed to load.");
e.printStackTrace();
}
Assets是一个源文件夹,列在“Project> Properties> Java Build Path”下。我也试图清理项目并重建。此外,在“资产”之前添加“/”不起作用,无论如何都无法满足我的目的。
这是在eclipse中运行的代码的先前版本,但不是可执行的Jar:
BufferedImage sheet = ImageIO.read(new File("assets/image.png"));
我根本不明白为什么 imgURL 首先被设置为 NULL ,因为在线的主要答案是使用与第一个一样的确切语法代码块。这也被用于可执行的JAR文件中,我的项目需要进行全面的测试。
非常感谢您提供的任何帮助。
谢谢!
编辑:由于TheLostMind和ingrid,我的问题已得到解决。事实证明,当使用getClass()。getResource(filename)时,我需要使用没有相对路径(assets / filename)的文件名。