Mios
Lectura y escritura de información
Objetivos del capítulo
Conocer todas las clases relativas a flujos.
Valorar la importancia de la persistencia.
Almacenar datos y objetos de forma definitiva utilizando ficheros.
Recuperar datos y objetos de ficheros.
Diseñar aplicaciones con interfaz gráfica.
Construir y controlar los eventos producidos en aplicaciones coninterfaz
gráfica.
Contenido del capítulo
Flujos de datos
Clases relativas a flujos
Utilización de flujos
Ficheros de datos
Almacenamiento de objetos en ficheros. Persistencia. Serialización
Interfaces de usuario
Concepto de evento y controladores de eventos
Generación de programas en entorno gráfico
Concepto de registro
Un registro es una agrupación de datos. Cada uno de los elementos de un registro se denomina campo. Estos campos pueden ser
tipos elementales (int, char, etc..) o bien pueden ser a su vez otras estructuras de datos.
Los registros son una agrupación heterogénea de campos tanto por sus tipos de datos
como por su contenido. No obstante, pueden existir registros que contengan solamente
un campo y por tanto la estructura seríahomogénea.
En la programación orientada a objetos lo normal es que en un fichero almacenemos
objetos y no registros, y que en vez de almacenar campos almacenemos atributos.
Flujos de datos
Los flujos de datos son flujos de información entre el programa y el origen o destino de
la información.
Los flujos de información se tratan en Java mediante objetos stream, loscuales harán de
intermediario entre el programa y ese origen o destino de la información.
Los flujos servirán entonces para abstraer y simplificar la programación. Los programas
se encargan de leer y escribir en los flujos sin importarles dónde se leen y se escriben los
datos.
Los programas, cuando quieren leer datos de un fichero, lo primero que hacen es abrir un
flujo de entrada y leen lainformación que contiene el fichero mediante el flujo de datos
de entrada.
Para grabar datos la operación es similar, se abre un flujo de salida y el programa va
escribiendo los datos en el flujo de salida y de esta forma se almacenan los datos.
En la siguiente diapositiva vemos los algoritmos que representan estos flujos de entrada
y salida.
Flujos de datos
Clases relativas a flujos El paquete java.io está en la biblioteca estándar de Java y es el que tiene todas las clases
necesarias para leer y escribir datos en flujos y en el sistema de ficheros. Este paquete
tiene una serie de interfaces, clases y excepciones, todas relacionadas con la
entrada/salida de datos.
Clases relativas a flujos
Las tuberías o pipes son flujos de datos que permiten conectar dosprogramas o
procesos entre sí transmitiéndose información entre uno y otro. Su función es
canalizar la salida de un programa para que sirva como entrada de otro programa.
La siguiente tabla muestra las subclases que permiten leer y escribir caracteres o
bytes en un vector o matriz en memoria, en un archivo o en una tubería o pipe.
Medio
Flujo de caracteres
Flujo de bytes
MemoriaCharArrayReader
CharArrayWriter
StringReader
StringWriter
ByteArrayInputStream
ByteArrayOutputStream
StringBufferInputStream
Archivo
FileReader
FileWriter
FileInputStream
FileOutputStream
Pipes/tuberías
PipedReader
PipedWriter
PipedInputStream
PipedOutputStream
Utilización de flujos
Existen clases que alteran el comportamiento de un stream ya definido, estas clasespueden añadir un buffer, realizar una conversión, etc. Estas clases son:
Clases
Características o función que pueden utilizar
BufferedReader(C)
BufferedWriter(C)
BufferedInputStream(B)
BufferedOutputStream(B)
Tienen la propiedad de añadir un buffer al funcionamiento
del objeto.
InputStreamReader(C)
OutputStreamWriter(C)
Utilizadas como clases puentes las cuales...
Regístrate para leer el documento completo.