I/O: Leer y Escibir

Frecuentemente los programas necesitan traer informacin desde una fuente externa o enviar informacin a un fuente externa. La informacin pueder estr en cualquier parte, en un fichero, en disco, en algn lugar de la red, en memoria o en otro programa. Tambin puede ser de cualquier tipo: objetos, caracteres, imgenes o sonidos.

Para traer la informacin, un programa abre un stream sobre una fuente de informacin (un fichero, memoria, un socket) y lee la informacin serialmente, de esta forma:

Similarmente, un programa puede enviar informacin a un destino externo abriendo un stream sobre un destino y escribiendo la informacin serialmente, de esta forma:

No importa de donde venga o donde vaya la informacin y tampoco importa el tipo de los datos que estn siendo ledos o escritos, los algoritmos para leer y escribir son casi siempre los mismos.

Leer Escribir
abrir un stream
mientras haya informacin
    leer informacin
cerrar el stream
abrir un stream
mientras haya informacin
    escribir informacin
cerrar el stream

El paquete java.io contiene una coleccin de clases stream que soportan estos algoritmos para leer y escribir. Estas clases estn divididas en dos rboles basndose en los tipos de datos (caracteres o bytes) sobre los que opera.

Sin embargo, algunas veces es ms conveniente agrupar las clases basndose en su propsito en vez en los tipos de datos que lee o escribe. As, podemos agrupar los streams dependiendo de si leen u escriben lados en las "profundidades" o procesan la inormacin que est siendo leda o escrita.

.Introduccin a los Streams I/O

Esta seccin describe todos los tipos de streams y muestra las clases del paquete java.io que los implementan de acuerdo a la divisin del rbol de clases.

Luego, como mucha gente piensa en trminos de lo que quieren hacer en vez de lo que estn haciendo, proporcionamos dos secciones que nos muestran cmo usar los streams seleccionados basndonos en su propsito.

.Serializacin de Objetos

Dos de los streams de bytes, ObjectInputStream y ObjectOutputStream, son streams especializados que nos permiten leer y escribir objetos.

Leer y escribir objetos es un proceso que se conoce como serializacin de objetos. La serializacin de objetos tiene muchos usos, incluyeno la invocacin remota de mtodos (RMI).

Adems de los streams de objetos, java.io tiene otras clases e interfaces que definen el API de las clases de ayuda que realizan serializacin para sus ejemplares.

.Trabajar con Ficheros de Acceso Aleatorio

Los streams de caracteres y de bytes son streams de acceso secuencial. Por el contrario, RandomAccessFile nos permite acceder aleatoriamente a los contenidos de un fichero.

Esta seccin nos habla sobre cmo suar los ficheros de acceso aleatorio. Tambin proporciona una seccin especial que muestra como escribir filtros para objetos que implementan los interfaces DataInput y DataOutput.

Los filtros implementados de esta forma son ms flexibles que los filtros de streams regulares porque pueden usarse sobre ficheros de acceso aleatorio y algunos ficheros secuenciales.

.Y el Resto...

Esta seccin presenta brevemente las clases restantes del paquete java.io.

Consideracin de Seguridad:

Algunas operaciones de I/O estn sujetas a la aprovacin del controlador de seguridad actual. Los programas de ejemplo contenidos en estas lecciones son aplicaciones solitarias, que por defecto no tienen controlador de seguridad. Este cdigo podra no funcionar en un applet, dependiendo del navegador o visualizador en el que se est ejecutando.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.