Java/Eclipse - getClass().getResource(...) 返回 null
- 论坛
- Java/Eclipse - getClass().getResource(...) 返回 null
17 浏览
Java/Eclipse - getClass().getResource(...) 返回 null
当执行以下代码时,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("图片加载失败。"); e.printStackTrace(); }
Assets是一个源文件夹,并且在"项目>属性>Java构建路径"下列出。我也尝试过清理项目和重新构建。此外,在"assets"之前添加"/"也不起作用,也无法满足我的需求。
这是之前在eclipse中可行的代码版本,但在可执行的Jar文件中不起作用:
BufferedImage sheet = ImageIO.read(new File("assets/image.png"));
我简单地不明白为什么imgURL首先被设置为NULL,因为在线上的主要答案是使用第一个代码块中的确切语法。这也适用于可执行的JAR文件,而我的项目将需要进行全面的测试。
非常感谢您能给出的任何帮助。
谢谢!
编辑:我的问题已经得到解决,感谢TheLostMind和ingrid。事实证明,当使用getClass().getResource(filename)时,我需要使用不带相对路径的文件名(assets/filename)。