我花了将近 2 天的时间尝试从我的 netbeans 项目内部加载文件,但它总是给出 NullPointException。
目前我的目录如下:
JavaFX应用程序:
- src
--Manifest(包含Manifest.java)
--images(在 Manifest 包内,又名 Manifest.images)
--server.jpg(图像包内)
我尝试从图像包加载server.jpg,但它总是返回NULL。
这是我的代码片段:
try {
rect.setFill(new ImagePattern(new Image(Manifest.class.getResourceAsStream("images\\server.jpg"))));
} catch (NullPointerException e) {
System.out.println(Manifest.class.getResourceAsStream("server.jpg"));
}
就在 2 天前,我在 YouTube 教程中看到了这段代码,但它不起作用。从这里尝试了许多解决方案,但对我来说没有任何效果。突然间它起作用了。第二天,尝试运行相同的代码,并再次出现相同的 NULL 错误。
你们能帮帮我吗?我对 JavaFX 完全陌生。对此没有太多经验。
最佳答案
使用getClass().getClassLoader().getResourceAsStream("")
。当您执行 Manifest.class.getResourceAsStream("images\\server.jpg")
操作时,它将尝试加载相对于 Manifest.class
所在位置的文件。
关于java - getResourceAsStream();始终为 NULL (Netbeans),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34926844/