Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O que digitei não apareceu no console do Eclipse

Olá, seguindo a vídeo-aula e escrevendo o código abaixo, após digitar algo e teclar enter, o console do Eclipse não exibiu o conteúdo digitado. O que poderia ser?

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;

public class TesteCopiarArquivo {

    public static void main(String[] args) throws IOException {
        //Fluxo de Entrada com Arquivo
        InputStream fis = System.in; //new FileInputStream("lorem.txt");
        Reader isr = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(isr);

        OutputStream fos = System.out; // new FileOutputStream("lorem2.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();
            bw.flush();
            linha = br.readLine();
        }

        br.close();
        bw.close();
    }
1 resposta
solução!

Olá Roger, não aparece porque o critério dentro do bloco while só vai mostrar quando linha for diferente de nulo e for vazia. Modifique para entrar do bloco while quando linha for diferente de nulo e diferente de vazio. Ou seja, negue a expressão linha.isEmpty():

    while (linha != null && !linha.isEmpty()) {
        //código omitido
    }

Assim, quando você digitar algo, linha será diferente de vazio e vai imprimir alguma coisa.

Teste novamente e veja se funciona.