Как указать правильный путь к файлу в getClass (). GetResource () - PullRequest
0 голосов
/ 07 июня 2019

В этой четверке много вопросов, но ни один не похож на мой.

Я всегда получаю исключение NullPointerException, если я пытаюсь перейти в две папки вверх в каталоге.Если я просто прыгаю вверх по одной папке, программа находит мой файл .html ...

Это часть Java, куда я загружаю мой файл HTML.Этот файл 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 находится в папке приложения.Если я использую ../ я иду на одну папку вверх, поэтому я ищу на уровне папки приложения.Нет, я снова использую ../, чтобы снова перейти на одну папку вверх, для поиска на уровне папки sje src.На мой взгляд, нет, я могу использовать local / offer / test.html.

Так что ../../local/offer/test.html должно работать на мой взгляд, но это не

введите описание изображения здесь

1 Ответ

0 голосов
/ 07 июня 2019

При использовании "../" означает, что вы выполняете поиск в предыдущей папке, поэтому при "../ test.html" вы выходите из папки приложения и ищетефайл с именем test.html в папке, которую вы показываете на втором рисунке.

С помощью "../../ test.html" вы выполняете поиск в двух папкахза приложением

Также getClass (). getResource () выполняет поиск в папке проекта вместо классов

...