Файл выдает нулевой указатель после экспорта в jar - PullRequest
0 голосов
/ 05 июля 2018

В моем коде мне нужно заполнить JComboBox путем сканирования каталога и передачи результатов в поле со списком.

Я делаю это следующим образом

File folder = new File("src/profiles");
for (final File fileEntry : folder.listFiles())             
         list.add(fileEntry.getName().substring(0, fileEntry.getName().length()-5));

Это отлично работает в Eclipse, но как только я экспортирую в исполняемый файл jar, он вызывает исключение нулевого указателя в цикле for. Я предполагаю, что это потому, что файл папки не может быть сделан / найден, так как структура больше не такая. Я проверил банку с 7zip и каталог профилей там. Он находится в корне банки, но даже если я изменю "src/profiles" на "profiles" или "\profiles", он все равно выдаст ту же ошибку исключения исключений нулевого указателя

Структура справочника для справки выглядит примерно так

    Project
       bin
          name
          images
          profiles
       src
          name
              this.java
              that.java
          images
          profiles
              profile1.json
              profile2.json

Кто-нибудь знает, как еще сделать эту работу после экспорта в банку? либо путем получения папки другим способом, либо путем сканирования каталога другим способом?

1 Ответ

0 голосов
/ 05 июля 2018

Если вы хотите найти ресурсы в пути к классам приложения (в вашем случае внутри jar-файла), вы можете использовать функции ресурсов загрузчика классов Java.

Вот пример: Получить список ресурсов из каталога classpath

...