Quiero cerrar mi secuencia en el bloque finally, pero arroja un IOException
por lo que parece que tengo que anidar otro bloque try
en mi bloque finally
para cerrar la secuencia. ¿Es esa la forma correcta de hacerlo? Parece un poco torpe.java try finally block to close stream
Aquí está el código:
public void read() {
try {
r = new BufferedReader(new InputStreamReader(address.openStream()));
String inLine;
while ((inLine = r.readLine()) != null) {
System.out.println(inLine);
}
} catch (IOException readException) {
readException.printStackTrace();
} finally {
try {
if (r!=null) r.close();
} catch (Exception e){
e.printStackTrace();
}
}
}
posible duplicado de [¿Existe una preferencia por bloques anidados try/catch?] (Http://stackoverflow.com/questions/183499/is-there-a-preference-for-nested-try-catch-blocks) –