Задать вопрос
@tsypanov

Какой класс использовать в выражении вида Class.getClassLoader().getResourceAsStream()?

Есть код:

class ThisClass {
  void foo() {
    InputStream resourceAsStream = ThisClass.class.getClassLoader().getResourceAsStream(path);
    //...
  }
}


Желательно ли вызывать getClassLoader() у класса, содержащего указанный код (в данном случае ThisClass), или подходит любой другой класс?

Какие побочные явления могут сопровождать исполнение такого кода:

class ThisClass {
  void foo() {
    InputStream resourceAsStream = ForeignClass.class.getClassLoader().getResourceAsStream(path);
    //...
  }
}
  • Вопрос задан
  • 224 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Без разницы. Практически всегда метод getClassLoader() будет возвращать один и тот же загрузчик для любого класса вашего приложения. Кроме того, проще и короче использовать конструкцию getClass().getResourceAsStream(path).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы