Нужно ли мне закрывать ByteArrayInputStream?

Короткий вопрос,

Я видел в каком-то старом коде, где ByteArrayInputStream был создан как:

new BufferedReader(new InputStreamReader(new ByteArrayInputStream(somebytes)));

А затем BufferedReader - используется для чтения строки за строкой некоторых байтов .
Все работает нормально, но я заметил, что BufferedReader никогда не закрывается.
Все это работает в долго работающем веб-приложении, somebytes не такие уж большие (200k больше всего), оно вызывается только несколько раз в неделю, и мы не возникли какие-либо очевидные утечки памяти. Поэтому я ожидаю, что все объекты будут успешно собраны мусором.

Я всегда (однажды) узнал, что потоки ввода / вывода должны быть закрыты, в операторе finally . Являются ли ByteStreams исключением из этого правила?

С уважением, Иерун.

43
задан Joachim Sauer 25 February 2011 в 15:21
поделиться