Definición
Los flujos
de datos o Streams, son abstracciones que permiten tratar la comunicación de
información entre una fuente y un destino. Los flujos actúan como interfaz con
el dispositivo o clase asociada:
·
Operación independiente del
tipo de datos y del dispositivo, por lo que aporta mayor flexibilidad
·
Diversidad de dispositivos (fichero, pantalla,
teclado, red, …)
·
Diversidad de formas de comunicación
Modo de acceso: secuencial, aleatorio
Información intercambiada: binaria, caracteres, líneas
Están
definidos en el paquete java.io
En Java se
accede a la E/S estándar mediante los siguientes atributos estáticos de la
clase java.lang.System:
System.in implementa la entrada
estándar
System.out implementa
la salida estándar
System.err implementa
la salida de errores
Tipos de flujos
Realizan
operaciones de entrada y salida de bytes.
Están
orientados al tratamiento de datos binarios.
Utilizan
las clases abstractas InputStream y OutputStream y sus descendientes.
Flujos de
caracteres (16 bits)
Realizan
operaciones de entrada y salida de caracteres.
Utilizan
las clases abstractas Reader y Writer.
Se
utilizan sobre todo para la internacionalización ya que permite manejar
caracteres Unicode de 16 bits.
Jerarquía de flujos de bytes
Subclases de InputStream
Clase
|
Función
|
ByteArrayInputStream
|
Utiliza un buffer interno para los bytes leídos del stream
|
StringBufferInputStream
|
Obsoleta, se recomienda StringReader.
Los bytes leídos al stream son proporcionados desde una
cadena.
|
FileInput Stream
|
Obtiene los bytes de entrada desde un fichero del sistema
|
PipedInputStream
|
Permite implementar mecanismos de tubería, para por ejemplo desacoplar la entrada de
la salida
|
FilterInputStream
|
Toma datos de otro stream transformándolos o añadiéndoles
funcionalidad
|
SequenceInputStream
|
Permite realizar una concatenación lógica de flujos de
entrada
|
Subclases de OutputStream
Clase
|
Función
|
ByteArrayOutputStream
|
Implementa un flujo de salida en el que los datos se van
escribiendo en una matriz de bytes que va creciendo
|
FileOutputStream
|
Es un flujo de salida para escribir datos en un fichero o
en un descriptor de fichero
|
PipedOutpudStream
|
Permite implementar mecanismos de tubería, junto con PipedInputStream
|
FilterOutputStream
|
Permite hacer transformaciones en los datos de salida
|
No hay comentarios:
Publicar un comentario