Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

No hay texto en el archivo .txt

Hello!

Buen día, después de haber realizado los pasos para poder escribir en la consola y tener un resultado en un archivo de texto, se crea el archivo pero no escribe el texto en el mismo, aparece en blanco.

Adjunto mi código.

package com.java.io.test;

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 TestCopiarPegar {

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

        InputStream inputStream =  System.in;
        Reader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

        OutputStream fileOutputStream = new FileOutputStream("test-copia.txt");
        Writer outputStreamWriter = new OutputStreamWriter(fileOutputStream);
        BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);

        String linea;

        while((linea = bufferedReader.readLine()) != null) {
            bufferedWriter.write(linea);
            bufferedWriter.newLine();
        }

        bufferedWriter.close();
    }


}

Estaré al pendiente para poder continuar.

Muchas gracias

2 respuestas
solución!

Hola Edwar como estás? Vi que en la primera de las dudas del foro tienen la misma consulta y fue resuelta usando las teclas CTRL + Z luego de escribir en consola, ya que considera una linea nula y sale de la ejecución. Parece ser un problema que al detener el programa no se guarda en el archivo lo escrito y por eso queda en blanco. Aquí esta el link de la respuesta a tu consulta: https://app.aluracursos.com/forum/topico-no-pude-hacer-funcionar-el-system-in-118035.

De todas maneras a mi tampoco me funcionaba de esa manera por lo que adapté el código para que al escribir una palabra determinada ("finish") en una nueva línea, cortara y cerrara la ejecución; y de esa manera sí se guardan los cambios en el archivo. Aquí te dejo mi pequeña modificacion en el código: Espero te sirva alguna de las soluciones!

    while((linea = bufferedReader.readLine()) != null){
        bufferedWriter.write(linea);
        bufferedWriter.newLine();
        if(linea.equals("finish")){
            bufferedWriter.close();
            break;
        }
    }

    bufferedReader.close();
    bufferedWriter.close();

}

Hola Gonzalo!,

Muchas gracias por toda la información. Efectivamente en las otras preguntas del foro habían casos que ya estaban cerrados, pero ninguno me funcionó. Pero ahora gracias a ti y tu código lo solucione.

Que tengas un feliz día de programación.