Закрытие вложенного Reader

При чтении из текстового файла обычно создается FileReader , а затем вкладывается в BufferedReader . Кого из двух читателей мне следует закрыть, когда я закончу читать? Имеет ли это значение?

FileReader fr = null;
BufferedReader br = null;
try
{
    fr = new FileReader(fileName);
    br = new BufferedReader(fr);
    // ...
}
finally
{
    // should I close fr or br here?
}

Я немного параноик, когда дело касается безопасности исключений. Что происходит, когда конструктор BufferedReader генерирует исключение? Закрывает ли вложенный ридер? Или гарантированно не выкинет?

13
задан fredoverflow 5 February 2011 в 19:36
поделиться