Вы находитесь на странице: 1из 12

ESTRUCTURA DE

DATOS II

Estructura de
Datos II

Java Streams
Resumen
CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Contenido

Clase File

Flujo de Datos

Flujo de Bytes. Flujo de Entrada / Salida.

Filtrado de Flujos de Bytes.

Flujo de Caracteres. Flujo de Entrada / Salida.

Filtrado de Flujos de Caracteres.

Lectura y escritura en archivos.

Resumen

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Flujos de Datos
 Flujo es una ruta seguida por los datos de un programa.
 Flujo de entrada envía datos de una fuente de datos a un

programa.
 Flujo de salida envía datos desde un programa hacia un destino.

 Existen dos tipos diferentes de flujos:


 Flujos de Bytes: Con valores entre 0 y 255. (bytecode)

 Flujos de Caracteres: Tipo de flujo de bytes que solo maneja

texto. El estándar de Java es el Unicode que soporta más


caracteres.

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Filtrado de un Flujo de Datos



Es el flujo que modifica la forma en que se maneja un flujo existente,
logrando resultados mas sofisticados:


Crea un flujo asociado con una fuente o un destino de
datos.

Asocie el flujo filtro con el flujo fuente.

Lea ó escriba datos desde el flujo filtro y no desde el flujo
original.

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Flujo de Caracteres. Jerarquía de Clase



Se encuentra en java.io como fuente de la jerarquía.

 Writer
 Reader
BufferedWriter
BufferedReader
OutputStreamWriter
InputStreamReader
FileWriter
FileReader
PrintWriter
StringReader
StringWriter

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Flujo de Caracteres. Archivo Entrada


 Declaración:
FileReader <nombre> = new FileReader(<ruta\archivo>)

 Lectura:
 <Nombre del flujo>.read(): Retorna el carácter del flujo ó –1 si es

el final.
 <Nombre del flujo>.read( <ArrayChar, Inicio, Tamaño>):

Retorna el número de caracteres que se han leído ó –1 si no se haya


leído nada.

 Cierre del flujo de datos


 <Nombre del flujo>.close(): Cierra el flujo de datos

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Flujo de Caracteres. Archivo de Salida


 Declaración:
FileWriter <nombre> = new FileWriter(<ruta\archivo>)
FileWriter <nombre> = new FileWriter(<ruta\archivo>,true)

 Escritura:
 <Nombre del flujo>.write(<valor>): Escribe el carácter en el flujo.

 <Nombre del flujo>.write(<ArrayChar,Inicio,Tamaño>): Escribe arreglo de

caracteres en el flujo.
 <Nombre del flujo>.write(<Cadena,Inicio,Tamaño>): Escribe la cadena de

caracteres en el flujo.

  Cierre:
 <Nombre del flujo>.close(): Cierra el flujo de datos.

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Filtrado del Flujo de Caracteres. Flujo de


Entrada

 Buffer, lugar donde se guardar datos antes de ser utilizados.

 BufferedReader(Reader): Crea un flujo de entrada almacenado en el


buffer para el objeto.

 BufferedReader(Reader,Tamaño): Crea un flujo de entrada


almacenado en el buffer de tamaño para el objeto.

 Lectura de una línea de texto: <Nombre del flujo>.readLine(),


Devuelve un objeto cadena.

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Filtrado del Flujo de Caracteres. Flujo de


Salida
 BufferedWriter(Writer): Crea un flujo de salida almacenado en el

buffer para el objeto.

 BufferedWriter(Writer,Tamaño): Crea un flujo de salida


almacenado en el buffer de tamaño para el objeto.

 Los datos se envían a un flujo almacenado en un buffer, estos no se


enviarán a su destino hasta que no se llene el buffer o se utilice el
método flush().

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Lectura y Escritura por pantalla


 Lectura desde teclado
BufferedReader br = new BufferedReader ( new
InputStreamReader (System.in) );
String texto = br.readLine();

 Escritura en pantalla
PrintStream ps = new PrintStream (System.out);
ps.println(texto);

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Lectura y Escritura en Archivos


 Lectura desde archivo
FileReader fr = new FileReader(< ruta /
archivo >)
BufferedReader br = new BufferedReader(fr)
String texto = br.readLine();

 Escritura en un archivo
FileWriter fw = new FileWriter(< ruta /
archivo >)
PrintWriter pw = new PrintWriter(fw);
pw.println(texto);

CARRERA DE
INGENIERÍA
DE SOFTWARE
ESTRUCTURA DE
DATOS II

Resumen

El almacenamiento de cadenas de caracteres se realiza con flujos de
caracteres.


Se puede utilizar diversos flujos que están especializados en
determinados tipos de datos.


La ventaja del flujo de caracteres es que puedo escribir en archivos de
texto directamente.


En cambio los flujos de bytes me permiten escribir bytes en archivos
binarios.

CARRERA DE
INGENIERÍA
DE SOFTWARE

Вам также может понравиться