Programación en castellano
Inicio > Tutoriales > J2SE > I/O: Leer y Escibir
-Tutoriales

I/O: Leer y Escibir


Usar Streams de Proceso

Los streams de proceso realizan alguna suerte de operación, como almacenamiento o codificación de caracteres, mientras leen o escriben. Al igual que de los stream de profundidad, java.io contiene parejas de streams. Uno que realiza una operación particular durante la lectura y otro que realiza la misma operación (o la inversa) durante la escritura. Esta tabla nos muestra los streams de proceso de java.io:

Proceso Stream de Caracteres Streams de Bytes
Almacenamiento BufferedReader,
BufferedWriter
BufferedInputStream,
BufferedOutputStream
Filtrado FilterReader,
FilterWriter
FilterInputStream,
FilterOutputStream
Conversión entre
Bytes y Caracteres
InputStreamReader,
OutputStreamWriter
 
Concatenación   SequenceInputStream
Serialización de Objetos   ObjectInputStream,
ObjectOutputStream
Conversión de Datos   DataInputStream,
DataOutputStream
Contaje LineNumberReader LineNumberInputStream
Exploración PushbackReader PushbackInputStream
Impresión PrintWriter PrintStream

Observa que muchas veces, java.io contiene streams de caracteres y de bytes que realizan el mismo proceso pero para diferentes tipos de datos.

BufferedReader y BufferedWriter BufferedInputStream y BufferedOutputStream
Almacenan los datos en buffers mientras leen o escriben, por lo tanto reduciendo así el número de accesos requeridos a la fuente de datos original. Los streams con buffer normalmente son más eficientes que los que no lo utilizan.
FilterReader y FilterWriter FilterInputStream y FilterOutputStream
Clases abstractas, como sus padres. Definen el interface para filtros de streams, que filtran los datos que están siendo leídos o escritos.

Trabajar con Streams Filtrados más adelante en esta lección, nos mostrará como usar filtros de streams y como implementar el nuestro propio.

InputStreamReader y OutputStreamWriter
Una pareja de reader y writer que realiza un puente entre streams de bytes y streams de caracteres. Un InputStreamReader lee bytes desde un InputStream y los convierte a caracteres usando la decodificación de caracteres por defecto o una decodificación de caracteres especificada por su nombre.

De forma similar, un OutputStreamWriter convierte caracteres a bytes usando una decodificación de caracteres por defecto o una decodificación de caracteres especificada por su nombre y luego escribe estos bytes en un OutputStream.

Podemos aprender el nombre de la codificación de caracteres por defecto llamando a System.getProperty("file.encoding").

SequenceInputStream
Concatena varios streams de entrada en un sólo stream de entrada.

Cómo Contanerar Ficheros tiene un pequeño ejemplo de esta clase.

ObjectInputStream y ObjectOutputStream
Se usa para serializar objetos. Puedes ver Serialización de Objetos.
DataInputStream y DataOutputStream
Lee o escribir tipos de datos primitivos de Java de una forma independiente de la máquina.

Cómo usar DataInputStream y DataOutputStream nos enseña un ejemplo de uso de estos dos streams.

LineNumberReader y LineNumberInputStream
Sigue la pista del número de línea mientras lee.
PushbackReader y PushbackInputStream
Dos streams cada uno con un caracter (o byte) de menos en el buffer.

Algunas veces, cuando se leen datos desde un stream, encontraremos útil explorar el siguiente ítem del stream para decidir que hacer luego. Sin embargo, si lo exploramos, necesitaremos ponerlo de nuevo en su sitio para que pueda ser leído y procesado normalmente.

PrintWriter y PrintStream
Contienen métodos de impresión de conveniencia. Estos son streams sencillos para escribir, por eso frecuentemente veremos otros streams envueltos en uno de estos.
 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados