Я хочу закрыть мой поток в блоке finally, но он бросает IOException
, поэтому мне кажется, что мне нужно вложить еще один блок try
в мой блок finally
, чтобы закрыть поток. Это правильный способ сделать это? Это кажется немного неуклюжим.java try finally block to close stream
Вот код:
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();
}
}
}
Возможный дубликат [Есть ли предпочтения для вложенных блоков try/catch?] (Http://stackoverflow.com/questions/183499/is-there-a-preference-for-nested-try-catch-blocks) –