Vision general de los fluidos

Solo disponible en BuenasTareas
  • Páginas : 9 (2079 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de diciembre de 2010
Leer documento completo
Vista previa del texto
CAPITULO 14 FLUJOS
VISION GENERAL DE LOS FLUJOS DE E/S
La comunicación entre el programa y el origen o el destino de cierta información, se realiza mediante un flujo de información (stream), que no es más que un objeto que hace de intermediario entre el programa, y el origen o el destino de la información. Esto es, el programa leerá o escribirá en el flujo sin importarle desde donde vienela información o a donde va y tampoco importa el tipo de los datos que se leen o escriben.

Para que un programa pueda obtener información desde un fichero tiene que abrir un flujo y leer la información en él almacenada.
El paquete java.io de la biblioteca estándar de Java, contiene una colección de clases que soportan estos algoritmos para leer y escribir. Se dividen en dos clases byte (8bits) y char (16 bits), ambos grupos presentan clases análogas que tienen interfaces casi idénticas, por lo que se utilizan de la misma manera.
FLUJOS QUE NO PROCESAN LOS DATOS DE E/S
La tabla siguiente lista las subclases que permiten definir flujos para leer y escribir información en un medio sin realizar ningún proceso añadido.

Un programa que cree un flujo de alguna de estas clasespodrá leer o escribir información en algunos de los medios especificados: una matriz en memoria, un fichero en el disco o una tubería. Una tubería es un flujo que permite comunicar dos subprocesos para transferencia de información entre uno y otro.
FLUJOS QUE PROCESAN LOS DATOS DE E/S
Esta tabla permite definir flujos para leer o escribir información en un medio, además de realizar algunaoperación como añadir un buffer, un filtro, o realizar conversación, etc.

Un programa que cree un flujo de alguna de estas clases podrá leer o escribir información además de ejecutar la operación para la que ha sido diseñado, por ejemplo, un flujo de la clase PushbackReader (derivada de FilterReader que ha su vez se deriva Reader) es útil cuando, por ejemplo, un analizador necesita mirar elsiguiente carácter en la entrada con el fin de determinar que hacer a continuación; para ello, el analizador leerá el carácter y después lo devolverá a la entrada para que pueda ser leído por el código que tenga que ejecutarse a continuación.
Métodos que proporcionan la clase PushbackReader:

El constructores de esta clase requiere un argumento que haga referencia a un objeto, origen de los datos aleer, de la clase Reader o de alguna de sus subclases opcionalmente acepta un segundo argumento que especifica el tamaño del buffer para almacenar los caracteres devueltos por el método unread de PushbackReader, que por omisión es uno.
La clase InputStreamReader establece un puente para pasar flujos de bytes a flujos de caracteres.
Una sentencia como str= Leer.dato() permitirá leer de flujoEcaracteres proporcionados por isr resultantes de la conversación de los bytes que este obtiene del origen System.in
Como se muestra:

Para limpiar el flujo de entrad definido por la clase Leer añadiremos al método limpiar el código que se muestra a continuación. Lo único que hace este método es leer caracteres, uno a uno, mientras haya caracteres disponibles, ya que cada carácter leído esautomáticamente eliminado del flujo de entrada.

El método mirar permitirá conocer cual es el siguiente carácter que se puede leer del flujo de entrada. Par ello, este método leerá el primer carácter disponible en el flujo y a continuación lo devolverá al miso para que este disponible para un siguiente lectura.El método retornara ese carácter para que quien lo invoque pueda analizar cual será el siguiente carácter que se leerá del flujo; si no hubiera ningún carácter esperara a que el usuario realice una entrada.

El método carácter devolverá el siguiente carácter disponible en el flujo de entrada, si no hubiera ningún carácter disponle, quedara a la espera de que introduzca...
tracking img