Java Class.getResourceAsStream в классе начальной загрузки не находит ресурсJAVA

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

Сообщение Anonymous »

У меня есть следующий код:

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

public class Test {
public static void main(String[] args) {
System.out.println(Integer.class.getResourceAsStream("Test.class"));
}
}
в Test.java. Когда я компилирую и запускаю это как java Test, код печатает значение null.
Однако в документации для Class.getResourceAsStream (для Java 21) четко указано

Если этот объект Class был загружен загрузчиком классов начальной загрузки, метод делегирует ClassLoader.getSystemResourceAsStream(java.lang.String).

Насколько я понимаю, системный загрузчик будет загружать классы в текущем каталоге. И действительно, вызов ClassLoader.getSystemResourceAsStream("Test.class") правильно возвращает поток. Так почему же вызов Integer.class.getResourceAsStream("Test.class") не работает?
В Java 8, но не в Java 21, вызов int.class.getResourceAsStream("Test.class") фактически возвращает поток. Однако Integer.class.getResourceAsStream("Test.class") по-прежнему возвращает значение null.

Подробнее здесь: https://stackoverflow.com/questions/797 ... g-resource
Ответить

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

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

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

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

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