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