Ну, в вашем конкретном примере поток, открытый с помощью
classLoader.getResourceAsStream(fileName)
, никогда не закрывается.Этот поток должен быть закрыт - это, скорее всего, дескриптор файла в локальной системе.Вы можете закрыть его, закрыв BufferedReader
, который закрывает завернутый InputStreamReader
, который закрывает базовый InputStream
.Вместо этого вы могли бы также сохранить ссылку на исходный InputStream
и только закрыть ее.
Пожалуйста, обратите также внимание на try-with-resources , это потенциально может упростить вам задачуздесь.