En este articulo, vamos a ver como podemos crear ficheros desde Java,como podemos sobreescribir su contenido,  añadir registros, o leer secuencialmente los datos existentes en un fichero, con Java, utilizando las clases de java.io

Sobreescribir contenido

Para abrir un fichero desde Java, podemos utilizar una de las clases existentes en el paquete java.io; concretamente FileWriter; al que le podemos indicar la ruta completa y el nombre de fichero, y nos proporcionara un OutputStream que utilizaremos para grabar.

FileWriter fichero=new FileWriter(file_name)

Este objeto, nos interesa recubrirlo con un filtro: PrintWrite

PrintWriter pw=new PrintWriter(fichero)

Observad que estamos utilizando los objetos que heredan desde Writer, ya que nuestra intención es escribir caracteres, si no fuera así, podríamos haber utilizado FileOutputStream y PrintStream.

Una vez se ha establecido la comunicación, podemos utilizar los métodos vistos del objeto PrintWriter para escribir en el fichero

En el siguiente ejemplo, grabamos 10 registros en un fichero de texto, sobrescribiendo cualquier valor que hubiera anteriormente

Programa java para escribir en fichero

Añadir registros

Cuando se desea añadir datos a un fichero, solo debemos añadir un flag a true como segundo parámetro en la creación del FileWriter

FileWriter add register

Sabiendo esto, os propongo que modifiquéis la clase precedente para que añada 10 registros MÁS a los existentes

El resultado, debería ser algo así:

Añadir a fichero

Podéis comprobar que si el fichero esta creado, los registros se añaden en cola, y si el fichero no existe, este se crea automáticamente,

 

Leer secuencialmente un archivo

Igual que hacíamos anteriormente con la consola del sistema, la utilización del BufferedReader nos permite aislar nuestras ordenes de lectura, de la actividad real del dispositivo físico.

Esto es, el acceso físico no viene dado directamente por nuestras órdenes de lectura, si no que se realizara cuando la interface considere necesario realizar la lectura, y siempre, como mínimo, registro a registro, haciendo mucho más óptimo el acceso a disco

Como siempre, para trabajan con streamer, lo primero es conseguir uno, y como es para tratar un fichero en disco, utilizamos FileReader

Jectura de ficheros en Java con FileReader

fichero solo es una string en donde podemos dejar la ruta completa al fichero

Para optimizar el tratamiento, activamos un BufferedReader

Java, utilizacion de BufferedReader

Y ahora, ya podemos utilizar los métodos de BufferedReader para procesar el fichero.

A continuación os dejo un ejemplo en donde se lee secuencialmente el fichero creado en el tema anterior, y se imprimen las líneas a consola

Programa para leer un fichero en Java usando Buffered Reader

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.