Короткий вопрос,
Я видел в каком-то старом коде, где ByteArrayInputStream
был создан как:
new BufferedReader(new InputStreamReader(new ByteArrayInputStream(somebytes)));
А затем BufferedReader
- используется для чтения строки за строкой некоторых байтов
.
Все работает нормально, но я заметил, что BufferedReader
никогда не закрывается.
Все это работает в долго работающем веб-приложении, somebytes
не такие уж большие (200k больше всего), оно вызывается только несколько раз в неделю, и мы не возникли какие-либо очевидные утечки памяти. Поэтому я ожидаю, что все объекты будут успешно собраны мусором.
Я всегда (однажды) узнал, что потоки ввода / вывода должны быть закрыты, в операторе finally
. Являются ли ByteStreams
исключением из этого правила?
С уважением, Иерун.