Durante la lettura da un file di testo, in genere viene creato uno FileReader
e quindi nidifica in uno BufferedReader
. Quale dei due lettori dovrei chiudere quando ho finito di leggere? Importa?Lettore nidificato di chiusura
FileReader fr = null;
BufferedReader br = null;
try
{
fr = new FileReader(fileName);
br = new BufferedReader(fr);
// ...
}
finally
{
// should I close fr or br here?
}
Sono un po 'paranoico quando si parla di protezione dalle eccezioni. Cosa succede quando il costruttore BufferedReader
genera un'eccezione? Chiude il lettore annidato? O è garantito non gettare?
+1. Molto più elegante della mia soluzione. –
Buona soluzione se stai lavorando con più wrapper di lancio (e simili). Naturalmente, è possibile controllare la documentazione e il codice di 'BufferedReader' per vedere se c'è effettivamente qualche possibilità di eccezione nel ctor. – fwielstra