7
respostas

Java IO - Java III - Aula 4

Eu não consego fazer com que a minha mensagem do console seja lida e escrita no meu arquivo saida.txt.

Depois de digitar a mensagem no console eu tenho que fazer mais alguma coisa além de atualizar o projeto?

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

public class TestaJavaIO {
    public static void main(String[] args) throws IOException {
        InputStream is = System.in; // new FileInputStream("leitura.txt");
        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) {
            bw.append(linha);
            bw.newLine();
            linha = br.readLine();
        }

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

Você precisa pressionar ctrl+d(unix) ou ctrl+z(windows) para encerrar o loop e fazer com o que o arquivo seja escrito efetivamente.

Executo o programa, escrevo no console, aperto o ctrl +z e atualizo o projeto.?

sim :)

Aqui ainda não deu certo.

Vc rodou, aí escreveu algo no console do eclipse(a sua entrada de dados) e no fim deu Ctrl + z? O console do eclipse sinalizou que o programa morreu? Quando ta rodando fica um botao vermelho.

Eu tenho o arquivo saida criado, tenho o código pronto como acima. Tudo igualzinho no video.

Então, abro o console e digito a minha mensagem, e ai eu me perco, entre executar o programa ou atualizar o projeto.

Qual seria o passo a passo correto, depois de escrever o código e ter criado os arquivos?

Eu tive o mesmo problema que você. Achei sua dúvida no fórum e testei conforme explicado pelo Alberto Souza:

1) Depois do código pronto para rodar cliquei com o botão direito na tela de edição do código, fui em "Run As" >> "1 Java Application";

2) O programa fica rodando continuamente conforme evidenciado pelo botão quadrado vermelho na janela do Console;

3) Digitei um texto qualquer em uma linha do Console e cliquei "enter" para passar para a segunda linha. Digitei um texto na segunda linha e cliquei em enter para passar para a terceira linha. Sempre que você quiser que o texto de uma linha apareça no arquivo "saida.txt" aperte "enter" sempre que terminar a linha, mesmo que não escreva mais nada na linha seguinte.

4) Apertei "ctrl + z" para terminar o loop. O botão quadrado vermelho se apaga evidenciando o fim do programa. Depois cliquei uma vez com o botão esquerdo na pasta do project onde está toda a árvore de arquivos do projeto para selecioná-la. Apertei "F5" para atualizar tudo e abri o arquivo "saida.txt" clicando duas vezes para abri-lo. Consegui visualizar no arquivo o que digitei no Console.