Categorías destacadas
programacion php    
Artículo
6
¡votar!

 I/O: Leer y Escibir


I/O: Leer y Escribir

Frecuentemente los programas necesitan traer información desde una fuente externa o enviar información a un fuente externa. La información pueder estár en cualquier parte, en un fichero, en disco, en algún lugar de la red, en memoria o en otro programa. También puede ser de cualquier tipo: objetos, caracteres, imágenes o sonidos.

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

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

No importa de donde venga o donde vaya la información y tampoco importa el tipo de los datos que están siendo leídos o escritos, los algoritmos para leer y escribir son casi siempre los mismos.

Leer Escribir
abrir un stream
mientras haya información
    leer información
cerrar el stream
abrir un stream
mientras haya información
    escribir información
cerrar el stream

El paquete java.io contiene una colección de clases stream que soportan estos algoritmos para leer y escribir. Estas clases están divididas en dos árboles basándose en los tipos de datos (caracteres o bytes) sobre los que opera.

Sin embargo, algunas veces es más conveniente agrupar las clases basándose en su propósito 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 inormación que está siendo leída o escrita.

. Introducción a los Streams I/O

Esta sección describe todos los tipos de streams y muestra las clases del paquete java.io que los implementan de acuerdo a la división del árbol de clases.

Luego, como mucha gente piensa en términos de lo que quieren hacer en vez de lo que están haciendo, proporcionamos dos secciones que nos muestran cómo usar los streams seleccionados basándonos en su propósito.

. Serialización 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 serialización de objetos. La serialización de objetos tiene muchos usos, incluyeno la invocación remota de métodos (RMI).

Además de los streams de objetos, java.io tiene otras clases e interfaces que definen el API de las clases de ayuda que realizan serialización 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 sección nos habla sobre cómo suar los ficheros de acceso aleatorio. También proporciona una sección especial que muestra como escribir filtros para objetos que implementan los interfaces DataInput y DataOutput.

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

. Y el Resto...

Esta sección presenta brevemente las clases restantes del paquete java.io.

Consideración de Seguridad:

Algunas operaciones de I/O están sujetas a la aprovación 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 código podría no funcionar en un applet, dependiendo del navegador o visualizador en el que se esté ejecutando.

 
Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon