Ir al contenido

Escribir en un fichero de texto con Java

Si vamos a escribir en un fichero de texto, sería una buena práctica el validar si dicho fichero existe o no. También podríamos escribir sobre el fichero directamente, aunque esto lo haríamos si no nos importase mucho el contenido que este tuviese.

Para validar si existe un fichero podemos leer el ejemplo Saber si existe un fichero con Java. Dicho artículo nos explica de forma detallada lo simple que esto resulta. Resumiendo, bastará utilizar el método exists() de la clase File.

File fichero = new File("archivo.txt");
if (!fichero.exists()) {
// El fichero no existe, procedemos a escribir
}

En el caso de que no exista el fichero, nos pondremos manos a la obra para escribir sobre el fichero. Lo primero que tendremos que hacer será crear un BufferedWriter. Esta clase nos ayuda a manejar los stream en forma de buffer con métodos muy sencillos.

Este buffer necesitará saber cual es el fichero. Esto se lo proporcionamos desde la clase FileWriter. Recuerda que la filosofía de acceso a la lectura y escritura a los ficheros, siempre es la misma. Buffer, que envuelve a Reader, que a su vez envuelve al fichero (o stream).

El código nos quedaría algo así:

BufferedWriter buffer = new BufferedWriter(new FileWriter(fichero));

Para escribir texto nos apoyamos en el método .write() del buffer. Muy sencillo. La verdad es que no se me ocurría que texto grabar sobre el fichero, así que, al final, vamos a volcar 10 líneas iguales ayudándonos de un bucle for.

for (int x=0; x<10; x++) {
buffer.write("Línea de texto " + x);
buffer.newLine();
}

No nos podemos olvidar de dos últimas cosas. Siempre que manejemos el fichero para escribir deberemos de cerrarle con el método .close(). Y lo otro, que toda la operativa de la clase java.io.* nos avisará de sus problemas de acceso a fichero, elevándonos una excepción IOException. Que habrá que capturar en alguna parte de nuestro código.

try {
buffer.close();
} catch (IOException e) {
e.printStackTrace();
}
Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Escribir en un fichero de texto con Java

Ejemplo que nos enseña a escribir en un fichero de texto con Java.

Descargar código