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

 I/O: Leer y Escibir


Introdución a los Streams de I/O

. Streams de Caracteres

Reader y Writer son las superclases abstractas para streams de caracteres en java.io.

Reader proporciona el API y una implementación para readers-- streams que leen caracteres de 16-bits-- y Writer proporciona el API y una implementación para writers--streams que escriben caracteres de 16-bits.

Las subclases de Reader y Writer que implementan streams especializados se dividen en dos categorías: aquellos que leen o escriben datos en profundidad (sinks) [mostrados en gris en la siguiente figura] y aquellos que realizan alguna suerte de proceso [mostrados en blanco].

La figura muestra el árbol de clases para Reader y Writer.

La mayoría de los programas deberían usar este tipo de streams, ya que ambos pueden manejar caracteres en el conjunto de caracteres Unicode (mientras que los streams de bytes están limitados a bytes ISO-Latin-1 de 8-bit).

. Streams de Bytes

Los programas deberían usar los streams de bytes, descendientes de InputStream y OutputStream, para leer y escribir bytes de 8-bits. InputStream y OutputStream proporcionan el API y alguna implementación streams de entrada y salida y leen y escriben bytes de 8-bits. Estos streams se usan normalmente para leer y escribir datos binarios como imágenes y sonidos.

Al igual que Reader y Writer, las subclases de InputStream y OutputStream proporcionan I/O especializada que se divide en dos categorias: streams de profundidad y streams de procesamiento. La siguiente figura muestra el árbol de clases para los streams de bytes.

Como se ha mencionado, dos de las clases de streams de bytes, ObjectInputStream y ObjectOutputStream, se usan para la serialización de objetos.

Esta clases se cubren completamente en la página Serialización de Objetos.

. Entender las Superclases de I/O

Reader y InputStream definen APIs similares pero para diferentes tipos de datos. Por ejemplo, Reader contiene estos métodos para leer caracteres y arrays de caracteres:

int read()
int read(char cbuf[])
int read(char cbuf[], int offset, int length)

InputStream defien los mismos métodos pero para leer bytes o arrays de bytes:

int read()
int read(byte cbuf[])
int read(byte cbuf[], int offset, int length)

Ambos también proporcionan métodos para marcar localizaciones en el stream, saltar entradas y restablecer la posición actual.

Writer y OutputStream son similarmente paralelas. Writer defien tres métodos para escribir caracteres y arrays de caracteres.

int write(int c)
int write(char cbuf[])
int write(char cbuf[], int offset, int length)

Y OutputStream define los mismos métodos pero para Bytes.

int write(int c)
int write(byte cbuf[])
int write(byte cbuf[], int offset, int length)

Todos estos streams --readers, writers, inputstreams, y outputstreams-- se abren automáticamente cuando se crean. Podemos cerrar explícitamente cualquier stream llamando a su método close.

O el recolector de basura puede cerrarlos implícitmamente, lo que ocurre cuando se deja de referenciar el objeto.

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