У меня есть следующая строка кода:
InputStreamReader isr = new InputStreamReader(MethodHandles.lookup().lookupClass().getResourceAsStream(csvFile));
Может кто-нибудь объяснить новичку:
MethodHandles.lookup()
lookupClass()
getResourceasStream()
код работает и получает доступ к CSV-файлу, расположенному в банке.Я просто не понимаю, что делает каждый из методов
Мне удалось упростить строку до:
InputStreamReader isr = new InputStreamReader (SQLUtilPROD.class.getResourceAsStream (csvFile));
, но я все еще в замешательстве.Что делает SQLUtilProd.class?и как getResourceAsStream узнает, как получить файл из фляги?Что произойдет, если у вас есть несколько банок?
Не уверен, но я думаю, что мы используем SQLUtil.class, чтобы получить объект класса, который, в свою очередь, дает нам доступ к classLoader, который getResourceAsStream использует для определения местоположения файла.
Если это так, где определяет classLoaderпуть, чтобы включить банку?