1
resposta

Entrada pelo teclado escreve em arquivo existente mas não gera novo arquivo

Quando faço uma entrada pelo teclado gravando em um arquivo existente funciona perfeitamente, no entanto, se instancio o OutputStream com um nome de arquivo que não existe, não gera/escreve nesse novo arquivo. O que eu preciso acrescentar/mudar para gerar esse novo arquivo e escrever nele?

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

import java.io.BufferedReader;
import java.io.BufferedWriter;
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 TesteLeituraTeclado {

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

        InputStream inputFile = System.in;
        Reader inputStream = new InputStreamReader(inputFile);
        BufferedReader inputBuffer = new BufferedReader(inputStream);

        OutputStream outputFile = new FileOutputStream("novo_arquivo.txt");
        Writer outputStream = new OutputStreamWriter(outputFile);
        BufferedWriter outputBuffer = new BufferedWriter(outputStream);

        String linha = inputBuffer.readLine();

        while(linha != null && !linha.isEmpty()) {
            outputBuffer.write(linha);
            outputBuffer.newLine();
            linha = inputBuffer.readLine();
        }


        inputBuffer.close();
        outputBuffer.close();

    }

}
1 resposta

Olá Luiz Roberto, tudo bem?

Bom testei seu código aqui e funcionou corretamente. No caso, assim que você executa a classe, digita no console o texto que vai querer salvar no arquivo, após essa execução você fez um refresh (F5) no projeto? Por que só assim o seu "novo_arquivo.txt" aparecerá na raiz do seu projeto.

Fico no aguardo. Espero ter ajudado.