Почему общественность (имя строки) InputStream getResourceAsStream находится в классе Класса? Это просто дает inputstream файла, который находится в файле банки и нет никакого отношения с классом Класса. таким образом, это может быть статический метод, и это может быть в любом классе.
Там связь с классом:
getResourceAsStream ("baz.txt")
в классе для foo.bar.SomeClass
, он будет искать / foo /bar/baz.txt
Он просто дает поток ввода файла, который находится в файле jar ...
Неверно. Не все загрузчики классов загружают ресурсы из обычного файла JAR.
Вся эта сложность скрыта от вас, когда вы используете ClassLoader
API через Class
в этом случае.
... и нет никакого отношения к классу класса.
Неверно. См. Ответ @Jon Skeet. Обратите внимание, что вызов Class.getResourceAsStream (String)
дает ресурс, который принадлежит к тому же контексту безопасности, что и класс. Это может быть очень важно, если используется несколько загрузчиков классов / контекстов безопасности.