проверка состояния и позволяет закрыть поток.

у закрыть свой поток в блоке finally, но он выдаетIOException так что кажется, что я должен вложить другоеtry блок в моемfinally блок для того, чтобы закрыть поток. Это правильный способ сделать это? Это кажется немного неуклюжим.

Вот код:

 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();
        }
    }


}

Ответы на вопрос(8)

Ваш ответ на вопрос