1
resposta

[Dúvida] Não consegui o mesmo resultado da aula, o que há de errado?

Fiz tudo direitinho seguindo passo a passo o professor nico na aula 03, o vídeo intitulado como: outras entradas e saídas. Eu ainda tive êxito em copiar o arquivo, deu tudo certo, a parte de inicial da aula foi perfeita, porém na hora passar a entra do InputStream com System.in, neste caso pra digitar no console o texto para ser copiado , infelizmente não tive o mesmo resultado da aula, que seria reescrever o que era digitado no console no arquivo lorem2.txt, o arquivo fica vazio, vou deixar meu código aqui em anexo pra saber se alguém pode me ajudar, ou será por causa da versão do Java que estou usando, para titulo de informação é o 1.8.

public class TesteCopiarArquivo {

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

    Socket s = new Socket();

    //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 = new FileOutputStream("lorem2.txt");
    Writer osw  = new OutputStreamWriter(fos);
    BufferedWriter bw = new BufferedWriter(osw);


    String linha = br.readLine();

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

    br.close();
    bw.close();


}

}

O que está acontecendo, você pode me ajudar?

1 resposta

Boa noite Bruno, estava com esse mesmo problema agora, mas fui seguindo a aula e ao adicionar a parte seguinte passada pelo professor passou a funcionar corretamente. No caso a condição do while foi a seguinte:

while(linha != null && !linha.isEmpty()) {

        //código aqui


    }

Não sei se foi de grande ajuda, talvez a diferença seja de alguma atualização do java

Abraços!

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