2
respostas

Não executa comando e não desmostra erro

Fiz o teste de copia entrada de texto, mesmo digita em console mas ao clica em arquivo original texto digital não esta la ! Alguem pode me ajudar ?

segue codigo:

package br.com.alura.java.io.teste;

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; import java.io.Reader; import java.io.Writer;

@SuppressWarnings("unused") public class TesteCopiarArquivo {

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

        InputStream fis =  System.in;
        Reader isr = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(isr);

        OutputStream fos = new FileOutputStream("testeIO2.txt");
        Writer osw = new OutputStreamWriter(fos);
        BufferedWriter bw = new BufferedWriter(osw);

        String linha = br.readLine();
        while (linha != null && !linha.isEmpty()) {
            bw.write(linha);
            bw.newLine();
            linha = br.readLine();
        }
        br.close();
        bw.close();
    }

}
2 respostas

O momento onde é garantido que as linhas serão escritas no arquivo é no final do processo, onde tem o bw.close();. Que ocorre quando der um Enter no console sem passar nenhum texto.

Se quiser forçar que o arquivo seja escrito a cada linha, pode colocar um bw.flush() dentro do laço.

funcionou obrigada!