3
respostas

Dúvida, sobre não está salvando no arquivo.

Estou com uma pequena dúvida. O que eu escrevia no console não estava indo para o arquivo, até que eu colocando um "break" em While e passou a funcionar. Porém não se se fiz certo, e porque isso está acontecendo?

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;

public class TesteIO {

    public static void main(String[] args) throws IOException {

        Scanner entrada = new Scanner(System.in);
        PrintStream saida = new PrintStream(new FileOutputStream("saida.txt"));

        while (entrada.hasNextLine()) {
            saida.println(entrada.nextLine());
            break;
            }

        entrada.close();
        saida.close();
    }
}
3 respostas

Bom dia Renato, a diferença é que com o break, voce só pode escrever um linha no console e gravar, pois o break sai do while. E sem o break pode ir pulando linha e escrevendo mais coisas no arquivo

Obrigado pela resposta Guilherme, mas o meu problema é que sem o break, o arquivo "saida.txt" não estava recebendo o que eu escrevia no console. Porém, a resposta do instrutor no exercício está sem o break. O que eu devo estar fazendo de errado além disso?

Sem o break a única diferença é que você deve dar o comando ctrl+z, ou clicar na opção "terminate" do eclipse para interromper o loop. Provavelmente o seu arquivo saída.txt não está atualizando automaticamente tente seleciona-lo e ir em File-Refresh, ou simplesmente F5.