Archivos Java
Archivos Java
Los archivos son muy importantes en programación, ya que nos permite almacenar o leer información de
forma permanente, útil para nuestros programas. Un ejemplo de archivos en un programa, puede ser un
archivo de configuración.
Debemos saber que lo que nos permite la comunicación entre el programa y el archivo son los Streams
(flujo o secuencia), que es el medio para escribir o leer datos. No son bidireccionales, es decir, debemos
crear uno para leer y otro distinto para escribir. Al final el stream se debe cerrar.
Al usar archivos, debemos forzosamente controlar las excepciones que se puedan producir, como que no
exista el archivo o cualquier otra excepción. Aquí te dejamos un post tratando el tema de las excepciones.
La clase File representa un archivo o directorio de nuestro sistema de archivos. También nos es útil ya que
puede pasarse como parámetro para las principales clases que manejan archivos, como FileReader,
FileInputStream, FileWriter, etc. La clase file está en el paquete java.io.File
Podemos pasarle un String con la ruta del fichero, también hay otros constructores. Estos son:
ARCHIVOS EN JAVA 1
A diferencia de otras clases que manejan archivos, en la clase File no es necesario controlar excepciones en
la mayoría de los métodos. Si hay alguna excepción a manejar lo indicaremos.
En la clase File tenemos un par de propiedades muy útiles, que nos servirán si usamos nuestra aplicación en
varios sistemas operativos.
Nos permitirá mostrar el separador entre archivos entre rutas de cada sistema operativo, por ejemplo, para
Windows, se separan las rutas con (;) y los directorios con (\)
Las propiedades son pathSeparator y separator. Se invocan con el nombre de la clase, por ejemplo,
File.separator.
ARCHIVOS EN JAVA 2
Ejecutamos:
EXCEPCIONES
Una excepción es un evento producido en la ejecución de un programa que interrumpe el flujo normal de
instrucciones. Por ejemplo, si manejamos archivos, es posible que el archivo no exista en la ruta indicada, la
sintaxis es correcta, pero en tiempo de ejecución no puede realizar la acción.
La idea es que cuando el código que está dentro del bloque try produce una excepción, se interrumpe el
flujo y pasa al bloque catch, aquí ya hacemos las operaciones que queramos, normalmente se suelen escribir
un mensaje informando del tipo de error, vamos a ver un ejemplo:
ARCHIVOS EN JAVA 3
Ejecutamos:
Si no se produce ninguna excepción, no pasara al bloque catch. Podemos poner más de un bloque catch
para manejar distintas excepciones más concretas. Pondremos primero, las excepciones más especificas a
las más generales.
ARCHIVOS EN JAVA 4
TIPOS DE EXCEPCIONES
Lo primero que debemos hacer es importar estas clases y las que controlan las excepciones.
Después debemos crear un objeto de alguna de estas clases. Se pueden construir con un objeto File,
FileDescriptor o un String.
Al crear un objeto de estas clases, deben estar dentro de un try-catch.
Recuerda que debemos controlar las excepciones.
Cuando creamos un objeto, abrimos un stream entre nuestro programa y el exterior, cuando
debemos de usarlo debemos cerrar el stream con el método close().
Escribir en un archivo.- Para escribir, usaremos el método write de FileWriter, este método puede usar
como parámetro un String con lo que queremos escribir o un número que se corresponderá un carácter de
la tabla ASCII.
Leer un archivo.- Para leer, usaremos el método read de FileReader, este método no tiene parámetros pero
devuelve un número que si le hacemos un casting a char este será legible por nosotros.
Esto lo podemos mostrar por pantalla o incluso pasarlo a otro archivo (crear otro objeto). Cuando se termina
el archivo, el método read devuelve -1.
ARCHIVOS EN JAVA 5
Ejemplo:
------------------------------------------------------------------------------------------------------------------------------------------------
ARCHIVOS EN JAVA 6
Ejecutamos:
NOTA.- Si queremos escribir y leer un archivo en el mismo método debemos utilizar el método flush() de la
clase FileWriter que hace que se guarden los cambios:
ARCHIVOS EN JAVA 7
ARCHIVOS EN JAVA 8