InputStream in = SomeClass.getInputStream(...);
BufferedInputStream bis = new BufferedInputStream(in);
try {
// read data from bis
} finally {
bis.close();
in.close();
}
В javadoc для BufferedInputStream.close()
не упоминается, закрыт ли базовый поток:
Закрывает этот входной поток и освобождает связанные с ним системные ресурсы с потоком. Как только поток будет закрыт, далее прочитайте(), доступных(), reset() или skip() вызовет исключение IOException. Закрытие ранее закрытого потока не влияет.
Является ли явный вызов in.close()
необходимым или должен быть закрыт вызовом bis.close()
?