lunes, 21 de mayo de 2012

Ficheros Temporales en Java


Esto es una entrada un poco sencilla, pero no por ello quiera decir que no sea importante.

Los archivos temporales son muy importantes pues nos permiten almacenar datos sin tener que preocuparnos luego de borrar éste o de buscar la ruta donde guardamos el fichero. En fin, no hay mucho que explicar, si nos da igual si los datos se guardan o no, usaremos archivos temporales.


Para crear un fichero temporal, es simple, en las propiedades de File podemos verlo, aquí un enlace con toda la documentación de File



   ¡IMPORTANTE!
Como siempre en el manejo de archivos tenemos que controlar la excepción (aunque se nos avisará de ello) IOException.


Una cosa bastante importante que añadir es que el fichero no se borrará a menos que nosotros se lo indiquemos, para ello tenemos que borrarlo con .deleteOnExit(), aunque también tenemos delete() si lo queremos borrar cuando queramos.

Borrar cuando cerremos la aplicación  fTemporal.deleteOnExit();
Borrar en un momento determinado fTemporal.delete();


Ya solo nos queda trabajar con el fichero. Leer datos o escribir en él.




Podemos utilizar:

A) FileInputStream, FileOuputStream, FileReader o FileWriter

B) Los BufferedReader, BufferedInputStream, BufferedWriter y BufferedOutputStream


El grupo A) usan acceso directo al disco. Por lo que si vamos a realizar muchas lecturas o escrituras, no compensa además de que la velocidad de acceso al disco duro se va a notar bastante.

El grupo B) usan buffer, es decir, controlan el acceso al disco duro.

Dependiendo de lo que queramos escribir en nuestro fichero vamos a necesitar optar por uno u otro y en función a los requerimientos de acceso al disco duro. También cabe la posibilidad de que tengamos que escribir en nuestro fichero pasándole como argumento un(os) String(s) o por ejemplo Array de Bytes, con lo cual tenemos que hacerlo de una u otra manera.

Espero que os haya servido, cualquier duda dejen un comentario.

Un saludo :)