GetResource возвращает значение null для ресурса, который существует.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 GetResource возвращает значение null для ресурса, который существует.

Сообщение Anonymous »

Я воскресил программу, написанную на Java, с помощью Eclipse: последний раз я работал над ней в 2016 году. Сейчас я использую JaveSE-21, и этот код больше не работает — возвращаемый URL-адрес равен нулю.

Код: Выделить всё

String name = "res/images/ifx_micro_red.png";
URL url = ClickImage.class.getClassLoader().getResource(name);
res и res.images отображаются непосредственно под src в дереве проекта.
Если я добавлю этот код заранее, в списке появится файл ifx_micro_red.png.

Код: Выделить всё

Scanner scanner = new Scanner(ClickImage.class.getClassLoader().getResourceAsStream("res/images"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close ();
Я не понимаю, как getResourceAsStream может найти файл, а getResource не может.

Обновление: я использовал отладчик для входа в getResource и обнаружил, что он возвращает значение null, поскольку дескриптор модуля говорит, что open имеет значение false.
Итак, мне разрешено видеть, что файл появляется в списке каталога res/images, но мне не разрешено его открывать, и это (как ни странно) реализуется путем возврата нулевого URL-адреса для файла.
Кажется, мне нужно поместить что-то вроде
res open
в файл Module_info, но я пока не нашел правильного синтаксиса.

Подробнее здесь: https://stackoverflow.com/questions/798 ... does-exist
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»