estoy leyendo un archivo local utilizando un BufferedReader envuelto alrededor de un FileReader:¿Debo cerrar() tanto FileReader como BufferedReader?
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// read the file
// (error handling snipped)
reader.close();
¿Es necesario close()
la FileReader
así, o se la envoltura manejar eso? que he visto código donde la gente hace algo como esto:
FileReader fReader = new FileReader(fileName);
BufferedReader bReader = new BufferedReader(fReader);
// read the file
// (error handling snipped)
bReader.close();
fReader.close();
Este método es llamado desde un servlet, y me gustaría para asegurarse de que no dejo los identificadores abiertos.
Ya sabes, puedes leer la fuente de información como esta. Está todo allí en src.zip en el directorio de instalación de JDK, o puede leerlo en línea en, por ejemplo, http://www.docjar.com/html/api/java/io/BufferedReader.java.html – gustafc
Diciéndole a alguien que lea la fuente es peor que decir "¡RTFM!". Y qué pasa si la fuente tiene un error; implícitamente, ¿queremos saber cuál es el comportamiento * correcto *? – Raedwald
Bueno ... desde este punto de vista: apuntando a las especificaciones API no es mejor que. Si la fuente no tiene un error que cause que no se comporte como se especifica en los documentos, no puede confiar en los documentos. Entonces, no hay una buena manera de responder a esa pregunta. – Atmocreations