Escribir archivos con Java

Escribir archivos con Java

Llegamos a la tercera parte de este mini curso de manejo de archivos con Java. En concreto, te voy a enseñar, a crear nuevos archivos y a escribir en ellos con Java. Lo haremos con la clase FileOutputStream.

Los otros dos capítulos, los tienes aquí:

1 - Introducción al manejo de archivos con Java.

2 - Leer archivos con Java.


Importar la clase FileOutputStream

Empecemos importando las clases necesarias para la práctica:

import java.io.FileOutputStream;
import java.io.IOException;

La primera nos servirá para escribir en los archivos y la segunda para manejar posibles excepciones.

Código base para escribir archivos con Java

Empecemos con una estructura básica para que te sea más fácil seguir la práctica:

import java.io.FileOutputStream;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try {
            //  Código del programa aquí
        } catch (IOException e) {
            System.out.println("Error al escribir en el archivo: " + e.getMessage());
        }
    }
}

Escribiendo el código

Lo primero que vamos a añadir, es un objeto de tipo FileOutputStream, así controlaremos el flujo de datos para crear el nuevo archivo. Pongo la parte del try, que es la que nos queda por ir completando y así no repito tanto código.


try {
	FileOutputStream archivoSalida = new FileOutputStream("archivos/texto_salida.txt");
}

Este objeto está indicando la ruta donde se creará el archivo. Este se llamará "texto_salida.txt".

Ahora, con este objeto creado, ya podemos utilizar métodos de la clase FileOutputStream.

Vamos a añadir el texto de salida, el que se va a añadir al archivo:

try {
	FileOutputStream archivoSalida = new FileOutputStream("archivos/texto_salida.txt");
  	String texto = "Mensaje de prueba.";
}

Ahora, vamos a convertir el texto del string a un array de bytes. Así, podremos utilizar el método write() del objeto de tipo FileOutputStream.

try {
	FileOutputStream archivoSalida = new FileOutputStream("archivos/texto_salida.txt");
  	String texto = "Mensaje de prueba.";
  	byte[] bytes = texto.getBytes();
}

Le pasamos al método write() el array con los bytes correspondientes al texto que queremos insertar en el nuevo archivo.

Si el archivo TXT no existe, no da error, lo crea y escribe en él. Si ya existe, lo reemplaza, así que ten cuidado. No querrás perder datos por un fallo así.

try {
	FileOutputStream archivoSalida = new FileOutputStream("archivos/texto_salida.txt");
  	String texto = "Mensaje de prueba.";
  	byte[] bytes = texto.getBytes();
  	archivoSalida.write(bytes);
}

Finalmente, cerramos el archivo con el método close() y mostramos un mensaje en la consola para indicar que se ha creado correctamente.


try {            
  	FileOutputStream archivoSalida = new FileOutputStream("archivos/texto_salida.txt");
    String texto = "Mensaje de prueba.";
    byte[] bytes = texto.getBytes();
    archivoSalida.write(bytes);
    archivoSalida.close();
    System.out.println("Archivo escrito con éxito.");
}

Código completo - Escribir archivos en Java

import java.io.FileOutputStream;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try {
            // Crea el objeto
            FileOutputStream archivoSalida = new FileOutputStream("archivos/texto_salida.txt");
            // Texto para escribir
            String texto = "Mensaje de prueba.";
            // Array de bytes para el texto
            byte[] bytes = texto.getBytes();
            // Escribe el texto en el archivo
            archivoSalida.write(bytes);
            // Cierra el archivo
            archivoSalida.close();
            // Confirma en la consola la escritura correcta
            System.out.println("Archivo escrito con éxito.");
            // En caso de error...
        } catch (IOException e) {
            System.out.println("Error al escribir en el archivo: " + e.getMessage());
        }
    }
}

Dejamos aquí este capítulo para escribir en archivos con Java. En el siguiente, te enseñaré a añadir texto a archivos que ya tienen contenido, sin reemplazarlo. En muchas ocasiones, te servirá simplemente crear un archivo nuevo cada vez.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso Java Entrada anterior Leer archivos en Java
curso de Python Entrada siguiente Guía de preparación del entorno Python para Windows y Linux