Antes de entrar al análisis de lo que son los archivos y
flujos en java deberemos tener en claro algunos conceptos importantes. Entre
los conceptos que vamos a analizar están los siguientes.
¿Qué
es un archivo o fichero?
En términos informáticos, un archivo es
un grupo de datos estructurados que son almacenados en algún medio, los cuales
pueden ser usados por aplicaciones.
Características
de los archivos.
Entre las características que los
archivos (informática) se encuentran los siguientes:
Nombre
y extensión.- Cada
una de los archivos es individual y este es identificado por un nombre y una
extensión, esta ultima nos ayuda a identificar el formato del archivos
- Datos sobre archivo.- Además de los datos anteriormente analizados cada archivo según el sistema de archivos se guarda también algunos datos adicionales como: fecha de creación, fecha de modificación y fecha de ultimo acceso, y algunas propiedades como: oculto, de sistema, de solo lectura.
- Tamaño.- Los archivos también poseen un tamaño el cual pueden ser medido en byte, kilobytes, megabytes, etc., este tamaño dependerá de la cantidad de caracteres que este contenga.
- Ubicación.- Todo archivo pertenece a un directorio o subdirectorio. Esta ubicación suele comenzar con la unidad de lógica que lo contiene y posteriormente encontraremos los subdirectorios hasta llegar al directorio contenedor del archivo.
Flujo.-
En
informática se puede decir que un flujo es un conjunto de clases que son las
encargadas de la administración de los ficheros. Mas adelantes se analizaran
mas a fondo algunas de estas clases.
Una vez que se han analizados estos conceptos podemos
adentrarnos mas en el estudio de los ficheros o archivos en informática.
En java a los archivos se los considera a cada archivo
como un flujo secuencial de bytes. Ahora en cada sistema operativo podemos
encontrar una manera diferente de identificar el fin de archivo.
En algunos casos el fin de archivo se da por una
excepción y en otros en cambio se da debido a un valor de retorno de un método
invocado en un objeto manejador de flujos
Los flujos de archivos se pueden usar tanto para la
entrada o para la salida de datos. Los flujos que reciben y envían bytes a
archivos se les conoce como: flujos basados en bytes y el almacenamientos de
los datos se da en formato binario; en cambio los flujos que reciben y envían
caracteres del/a los archivos se les conoce como flujos basados en caracteres y
el almacenamiento se realiza mediante una secuencia de caracteres.
Los archivos que se crean usando flujos basados en bytes
se conocen como archivos binarios. Los archivos que se crean usando flujos
basados en caracteres se les conoce como archivos de texto.
Los programas en java realizan la apertura de un archivo
creando un objeto el cual se asociara a un flujo de bytes o caracteres. El
lenguaje de programación java crea tres objetos flujo los cuales se asocian con
dispositivos cuando un programa java empieza su ejecución; estos son: System.in, System.out, System.err.
System.in.- Es aquel que permite
a un programa recibir bytes desde teclado.
System.out.- Es aquel que permite a un
programa mostrar datos por pantalla.
System.err.- Es aquel que permite
a un programa mostrar un mensaje de error en la pantalla.
Claro que no siempre se aplica las definiciones antes
descritas ya que cada uno de estos flujos tiene la capacidad de redirigirse. Es
así como System.in tiene la capacidad
de leer bytes desde un origen distinto, los otros 2 en cambio pueden permitir
que la salida se envié a una ubicación distinta, como por ejemplo a un archivo
en disco. La clase System proporciona algunos métodos para la redirección de
flujos estándar de entrada, salida y error como son: setIn, setOut y setErr.
El manejo de los archivos en java se da gracias a las
clases del paquete java.io el cual posee definiciones para las clases de flujos
como las siguientes:
·
FileOutputStream
·
FileReader
·
FileWriter
Todos los archivos se abren gracias a que se crean
objetos de estas clases de flujos, que heredan de las siguientes clases:
·
InputStream
·
OutputStream
·
Reader
·
Writer
Para la realización de entrada y salida de datos pueden
usarse objetos de las clases siguientes:
·
ObjectInputStream
·
ObjectOutputStream
·
FileInputStream
·
FileOutputStream
Para las operaciones de entrada y salida que se basan en
caracteres se las puede llevar a cabo con las siguientes clases:
·
Scanner
·
Formatter
La primera se usa en forma extensa la cual recibe datos
desde teclado, claro que también puede ser usada para leer datos desde
archivos; la segunda en cambio permite la visualización de datos con formato
por pantalla o enviarlos a un archivo.
Bibliografía.
- Deitel P, Deitel H (2008). Java como programar. México: Pearson Prentice Hall.
- Diccionario de Informativa (s.f). Recuperado el 10 de Abril del 2010, de http://www.alegsa.com.ar/Dic/archivo.php
- Martínez A; Ramón Jiménez J (s.f). Flujos en Java Programación Orientada a Objetos. Recuperado el 11 de Abril del 1012 de http://uamisoft.izt.uam.mx/dokuwiki/lib/exe/fetch.php?media=amm:cursos:poo:07-p:sem11flujos.pdf
No hay comentarios:
Publicar un comentario