2016-09-27 3 views
1

Я попытался просмотреть список файлов папка банки с помощьюGetClass(). GetResourceAsStream ("/ папка") возвращает нуль

getClass().getResourceAsStream("/folderName") это вернуть null

но getClass().getResourceAsStream("folderName/fileName") не null

чем разница ?

он работает в затмении, но не в jar файл

+0

Помимо отсутствующих ведущих '/', можете ли вы опубликовать структуру каталогов вашего приложения? Пожалуйста, сделайте [mcve]. – Tunaki

+3

Папки не существуют в файлах jar. Вы не можете перечислить папки внутри банки. – bmargulies

+0

Добавить список содержимого файла jar на вопрос. –

ответ

0

Вы говорите Class Loader, чтобы найти файл (ресурс) в "/folderName", который является корнем (абсолютный). В то время как "folderName" является текущая папка (относительно) Ваш класс находится в

Plus:.

  • getClass().getResourceAsStream() использует загрузчик класса System. Не загрузчик классов, загружающий родительский класс.

  • Используйте Example.class.getResourceAsStream(), и у вас должен быть доступ к ресурсам.

  • Также, если вы запутываете JAR, вы не можете использовать статический путь.
Смежные вопросы