的getResourceAsStream();总是NULL(Netbeans)

时间:2016-01-21 14:47:06

标签: java netbeans javafx

我花了差不多2天尝试从netbeans项目中加载文件,但它总是给出NullPointException。

目前我的目录如下:
JavaFXApplication:

  • SRC
    --Manifest(包含Manifest.java)
    --images(在Manifest包中名为 Manifest.images
    --server.jpg(图片内包)

我正在尝试从images包加载 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的新手。没有多少经验。

1 个答案:

答案 0 :(得分:1)

使用getClass().getClassLoader().getResourceAsStream("")。当您执行Manifest.class.getResourceAsStream("images\\server.jpg")时,它会尝试相对于Manifest.class所在的位置加载文件。