Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

br.close() no finally

Tentei na resolução desse exercício, inserir a chamada do método 'br.close()' no finally, porém o eclipse acusa que desconhece a variável 'br'. Por que isso ocorre?

public class Teste {
    public static void main(String[] args) throws IOException {
        try{        
            InputStream input = System.in;
            InputStreamReader inputSR = new InputStreamReader(input);
            BufferedReader br = new BufferedReader(inputSR); 

            String texto = br.readLine();

            while(texto != null){
                System.out.println(texto);
                texto = br.readLine();
            }        
        }catch(IOException io){
            io.printStackTrace();
        }finally{
            br.close();
        }
    }
}
2 respostas
solução!

Olá Anderson, tudo bem?

Acredito que esse problema seja porque a variável br está declarada dentro do bloco try, dessa forma, ela só é válida dentro desse escopo.

Para poder utilizar essa variável dentro do bloco finally tente colocar o br como atributo da classe.

Abs

Verdade. Comi mosca aqui.

Valeu. :)