Подтвердить что ты не робот

Нужно ли закрывать InputStream в Java?

Мой код:

InputStream confFile=classLoader.getResourceAsStream("myconffile.properties");

В документах:

Метод close метода InputStream ничего не делает.

Означает ли это, что мне не нужно закрывать InputStream?

4b9b3361

Ответ 1

Вам нужно закрыть входной поток, потому что поток, возвращаемый указанным вами методом, фактически FileInputStream или какой-либо другой подкласс InputStream, который содержит дескриптор файла. Если вы не закрываете этот поток, у вас есть утечка ресурсов.

Ответ 2

Нет, это не значит, потому что InputStream является абстрактным классом, а getResourceAsStream() возвращает конкретный подкласс, метод close() делает что-то - самое главное, свободный дескриптор файла.