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

How to give the correct path of a file in getClass().getResource()

这四个问题很多,但是none和我的差不多。

如果我尝试在目录中向上跳转两个文件夹,我总是会得到 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 在文件夹应用程序中。如果我使用 ../ 我会向上移动一个文件夹,所以我会在应用程序文件夹级别进行搜索。不,我再次使用 ../ 再次向上移动一个文件夹,以在 thje src 文件夹级别进行搜索。在我看来,我不能使用 local/offer/test.html。

所以 ../../local/offer/test.html 在我看来应该可行,但它不行

enter image description here

当使用 "../" 意味着您在上一个文件夹中搜索,因此使用 "../test.html" 您退出应用程序文件夹并在第二张图片中显示的文件夹中搜索名为 test.html 的文件。

使用 "../../test.html" 搜索应用程序后面的两个文件夹

此外,getClass().getResource() 搜索项目的文件夹而不是 类