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

terminador de texto no BufferedReader

Boa noite, eu consigo ler o teclado, porém fico digitando e não consigo encerrar, preciso digitar algum tipo de terminador para o programa intender que eu acabei de digitar meu texto? O programa é esse abaixo. Obrigado a todos.

InputStream is = System.in; //le do console//new FileInputStream("leitura.txt"); le arquivo
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);

        OutputStream os = new FileOutputStream("saida.txt");
        OutputStreamWriter osw = new OutputStreamWriter(os);
        BufferedWriter bw = new BufferedWriter(osw);

        String linha = br.readLine();

        while (linha != null) {
            //System.out.println(linha);
            bw.append(linha);
            bw.newLine();
            linha = br.readLine();

        }
        br.close();
        bw.close();
    }
4 respostas

Opa, se tiver no windows pressiona ctrl + z. Se for no unix, ctrl + d

solução!

coloca assim no seu while

while(!linha.equals(""))

com esse código, Quando você não digitar nada e der "Enter" o programa encerrará. Ou no lugar das "", você pode escolher algo que o usuário deva digitar para acabar o programa.

Exemplo:

while(!linha.equals("fim"))

espero ter ajudado,

Att,

Maicon.

Obrigado pelas respostas, Alberto do seu jeito deu certo, Maicon eu fiz igual que você passou mas o programa não encerrou, mas vocês me ajudaram bastante no que precisava. Abraços

Oi Marco! Me parece que você não tem mais dúvidas nesse tópico, por isso vou marcar ele como resolvido.

Caso precise, você pode sempre abrir um novo tópico aqui no fórum.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software