如何在getClass()。getResource()中给出文件的正确路径

时间:2019-06-07 09:28:48

标签: java path getresource javafx-webengine

在这四个问题中,有很多问题,但没有一个与我的相似。

如果我尝试在目录中向上跳两个文件夹,则始终会收到NullPointerException。如果我只跳了一个文件夹,程序就会找到我的.html文件...

这是我加载html文件的java部分。此Java文件位于src软件包中,并且位于软件包应用程序中。

@FXML
private void initialize() {
    webEngine = webView.getEngine();
    try {
        webEngine.load(getClass().getResource("../../local/offer/test.html").toExternalForm());
    }catch (Exception e) {
        e.printStackTrace();
    }
}


- src
   -application
       .java
-bin
-local
   -offer
       test.html

这是我的文件夹结构。我的.java在文件夹应用程序中。如果我使用../,我会上移一个文件夹,所以我会在应用程序文件夹的级别上进行搜索。不,我再次使用../来向上移动一个文件夹,以在src文件夹级别上进行搜索。我认为不可以使用local / offer / test.html。

所以,我认为../../local/offer/test.html应该可以工作,但不可以

enter image description here

1 个答案:

答案 0 :(得分:0)

使用“ ../” 表示您在上一个文件夹中搜索,因此使用“ ../ test.html” 退出应用程序文件夹并搜索在第二张图片中显示的文件夹中找到名为 test.html 的文件。

使用“ ../../ test.html” ,您可以在应用程序后面搜索两个文件夹

getClass()。getResource()也在项目的文件夹中搜索,而不是在类中搜索