Escribir en un fichero de texto con Java
Validar la existencia del fichero
Sección titulada «Validar la existencia del fichero»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}Crear el BufferedWriter
Sección titulada «Crear el BufferedWriter»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));Escribir en el fichero
Sección titulada «Escribir en el 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();}Cerrar el fichero y capturar excepciones
Sección titulada «Cerrar el fichero y capturar excepciones»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();}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.