Java - Problemas escribiendo en un fichero con IO

 
Vista:
sin imagen de perfil

Problemas escribiendo en un fichero con IO

Publicado por Kid (2 intervenciones) el 15/10/2022 01:58:28
Muy buenas; quisiera conocer el por qué de que no realice la escritura desde el programa a un fichero de texto. Crea el fichero sin problema, pero cuando lo abro, este está vacío. El código es bastante simple. Muchas gracias por adelantado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package org.example.escribiendo;
 
import java.io.FileWriter;
import java.io.IOException;
 
public class Escribir_Fichero {
 
    public static void main(String[] args) {
 
        Escribiendo prueba = new Escribiendo();
        prueba.escribir();
    }
 
    static class Escribiendo{
        public void escribir(){
            String frase = "Esto es una prueba de escritura";
 
            try {
                FileWriter salida = new FileWriter("D:/Users/usuario/IdeaProjects/AccesoAFicherosConStreams/ejemploEscritura.txt");
                //salida.write(frase);
                for(int i = 0; i<frase.length(); i++){
 
                    salida.write(frase.charAt(i));
                }
            } catch (IOException e) {
                System.out.println("Error de tipo Input/Output: "+e);
            }
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problemas escribiendo en un fichero con IO

Publicado por Kabuto (1381 intervenciones) el 15/10/2022 18:39:45
Te ha faltado una instrucción.

Para que la escritura se haga efectiva, has de "cerrar" el FileWriter, llamando al método close().
Justo después del bucle, te lo marco en negrita.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Escribir_Fichero {
 
    public static void main(String[] args) {
 
        Escribiendo prueba = new Escribiendo();
        prueba.escribir();
    }
 
    static class Escribiendo{
        public void escribir(){
            String frase = "Esto es una prueba de escritura";
 
            try {
                FileWriter salida = new FileWriter("D:/Users/usuario/IdeaProjects/AccesoAFicherosConStreams/ejemploEscritura.txt");
                //salida.write(frase);
                for(int i = 0; i<frase.length(); i++){
 
                    salida.write(frase.charAt(i));
                }
                salida.close();
            } catch (IOException e) {
                System.out.println("Error de tipo Input/Output: "+e);
            }
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar