Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在getClass().getResource()中提供文件的正确路径_Java_Path_Getresource_Javafx Webengine - Fatal编程技术网

Java 如何在getClass().getResource()中提供文件的正确路径

Java 如何在getClass().getResource()中提供文件的正确路径,java,path,getresource,javafx-webengine,Java,Path,Getresource,Javafx Webengine,这四个问题中有很多,但没有一个和我的问题相似 如果我试图在目录中向上跳转两个文件夹,我总是会得到一个NullPointerException。如果我只跳转一个文件夹,程序就会找到我的.html文件 这是我加载html文件的java部分。该Java文件位于包src中,并且在包应用程序中 @FXML private void initialize() { webEngine = webView.getEngine(); try { webEngine.load(get

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

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

所以.././local/offer/test.html在我看来应该是可行的,但事实并非如此

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

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


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

getClass()。getResource(路径)将从类路径而不是文件系统获取资源。是吗?是的,应该是正确的。但它可以工作到上一个文件夹。但是再上一个文件夹,所以上一个文件夹不起作用可能重复,而不是将我的问题标记为重复,这不是真的,请给我一个答案。我必须写什么来代替“../../local/offer/test.html”?您的类路径由
/application/YourClass.java
组成。您不能向上移动超过
/
。您需要将资源移到类路径上,或者将它们作为文件而不是类路径资源进行访问。但问题是,它不起作用。。。与.././我应该在文件夹中,如我的第一张图片所示。但这不起作用我也尝试过“local/test.html”,但它也不适用于“../../”项目后面的两个文件夹。例如,您的项目位于文件夹“foo/buzz/application”中,因此从应用程序文件夹进入foo文件夹,但您的test.html位于buzz上,因此它将返回错误。是的,我理解您的意思,但它不起作用。我已经编辑了我的问题,并显示了我的文件夹结构,使其更加清晰。谢谢你