Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2011, 11:54
TekoRaiK
 
Fecha de Ingreso: enero-2011
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 0
Close BufferedReader

Hola, a ver si alguien puede resolverme la duda.

Tengo la siguiente porción de código para leer archivos de texto:


----------------------------------------------------------------------
try {
File f = new File("ruta");
FileInputStream fis = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);

/* Codigo tratando el fichero */

} catch (Exception ex) {
/*Tratando cualquier excepcion */
} finally {
/* Cerrando Streams (DUDA)
}
-----------------------------------------------------------------------

La pregunta es bastante simple creo... pero no se la respuesta

Si cierro el objeto "br" con br.close(), se cierra tambien "isr" y "fis"?

Es decir, basta con cerrar el buffer para cerrar los streams? o hay que cerrarlos uno a uno.

Esto me plantea la siguientes cuestiones:

-SI hay que cerrarlos uno a uno, que pasaría si en lugar de inicializar los streams por separado hiciera algo del estilo:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f));

Quedaría el fichero abierto?

Gracias de antemano