Está en la página 1de 3

UNIVERSIDAD DEL VALLE

SEDE BUGA
FACULTAD DE INGENIERIA
TECNOLOGIA EN SISTEMAS DE INFORMACIN
ADRIAN LASSO CARDONA
(adrianlassocardona@yahoo.es)
TALLER DE PROGRAMACIN INTERACTIVA

Flujos de bytes y flujo de caracteres


Java 2 proporciona dos tipos de flujos: de byes y de caracteres. Los flujos de bytes
proporcionan un medio conveniente para gestionar la entrada y salida de bytes.
Por ejemplo; cuando se escriben o leen datos de tipo binario.
Por otro lado los flujos de tipo carcter son adecuados para gestionar la entrada y
salida de caracteres. Utilizan el codigo Unicode y, por lo tanto, se pueden utilizar
internacionalmente.

Las Clases de flujos de caracteres


Aunque las clases de flujos de bytes proporcionan suficiente funcionalidad para
gestionar cualquier tipo de operacin de E/S, no pueden trabajar directamente con
caracteres Unicode. Puesto que una de las principales finalidades de Java es dar
soporte a la filosofa escriba una vez, ejecutar en cualquier sitio, era necesdario
incluir soporte directo de E/S para caracteres.
En las clases de flujos de caracteres se definen dos jerarquas de clases. En el
nivel superior hay dos clases abstractas: Reader y Writer. Estas clases gestionan
el flujo de caracteres Unicode.
A continuacin algunas de las clases de flujos de caracteres:
Clases de flujos

Significado

BufferedInputStream

Flujo de entrada

BufferedReader *
BufferedWriter *
FileReader *

Flujo de entrada de caracteres con


buffer
Flujo de salida de caracteres con
buffer
Flujo de entrada que lee desde un
fichero

FileWriter *
Reader
Writer

Flujo de salida que escribe en un


fichero
Clase abstracta que define un flujo de
entrada de caracteres
Clase abstracta que define un flujo de
salida de caracteres

(*) Tratadas en esta lectura

Reader
Reader (lector) es una clase abstracta que define el modelo de Java para trabajar
con flujos de entrada de caracteres. Todos los mtodos de esta clase producirn
una excepcin IOException ante condiciones de error.

Writer
Writer (escritor) es una clase abstracta que define el modelo de Java para trabajar
con flujos de salida de caracteres. Todos los mtodos de esta clase devuelven un
valor void y producirn una excepcin IOException ante condiciones de error.

La clase FileReader
La clase FileReader (lector de ficheros) crea un Reader que se puede usar para
leer los contenidos de un fichero. Sus dos constructores ms usuales son los
siguientes:
FileReader (String dirFichero)
FileReader (File objFile)
Cualquiera de los dos produce una excepcin FileNotFoundException
Ver ejemplo de lectura y visualizacin de un fichero de texto almacenado en disco:
ShowFile1.java

La clase FileWriter
La clase FileWriter (escritor de ficheros) crea un Writer que se puede usar para
escribir a un fichero. Sus tres constructores ms usuales son los siguientes:

FileWriter (String dirFichero)

FileWriter (File objFile)


FileWriter (String dirFichero, boolean append)
Cualquiera de los
SecurityException.

tres

produce

una

excepcin

IOException

una

Ver ejemplo de escritura de un fichero en disco: SaveFile1.java, SaveFile2.java,


SaveFile3.java y SaveFile4.java

Flujos de caracteres con bfer


Las clases de flujo de caracteres con bfer son BufferedReader (lector con bfer)
y BufferedWriter (escritor con bfer)

La Clase BufferedReader
BufferedReader (lector con bufer) mejora el rendimiento dotando a la entrada de
un bufer.
BufferedReader tiene dos constructores:
BufferedReader (Reader flujoEntrada)
BufferedReader (Reader flujoEntrada, int tamaoBufer)
Ver ejemplo de lectura con buffer de un fichero de disco: BR1.java y BR2.java

La Clase BufferedWriter
BufferedWriter (escritor con bufer) es un Writer que aade un mtodo flush()
(vaciar) que se utiliza para asegurar que los bferes de datos sean escritos
realmente al dispositivo de salida fsico. El uso de un BufferedWriter puede
mejorar el rendimiento reduciendo el numero de veces que el sistema escribe
realmente datos.
BufferedWriter tiene dos constructores:
BufferedWriter (Writer flujoSalida)
BufferedWriter (Writer flujoSalida, int tamaoBufer)
Ver ejemplo de escritura con bfer de un fichero en disco:.BW1.java , BW2.java y
BW3.java

También podría gustarte