Introducción al tratamiento de ficheros en Java. E/S java.io*

Java.io* Contiene clases para manejar la entrada/salida.

Flujos binarios – byte (8-bit): Es el tipo de flujo mas primitivo y portable, de echo cualquier otro tipo de flujo esta construido sobre este porque hablando a bajo nivel todas las operaciones de I/O son flujos de bytes. Nos permitirá trabajar adecuadamente con datos binarios tales como archivos de imagen, sonido, etc. Las clases principales para manejar estos flujos son las clases abstractas InputStreamy OutputStream de las cuales heredan otras sub-clases que implementan en formas mas concretas la misma tarea.

Flujos de caracteres – char (16-bit): Es un tipo de flujo de caracteres en codificación Unicode, listo para la internacionalización, ideal para trabajar con texto plano. Las clases principales para manejar estos flujos son las clases abstractas Reader yWriter de las cuales heredan otras sub-clases que implementan en formas mas concretas la misma tarea. Cualquiera de estas clases realiza la conversión correspondiente de byte a char para leer o de char a byte para escribir.

Las clases principales del paquete java.io:

 InputStream,OutputStreamReaderWriter, y sus sub-clases directas:

Lectura

La clase InputStream:

int read() - Lee el próximo byte del flujo representado en un entero. Devuelve -1 si no quedan mas datos que leer. 

int read(byte[] b) - Lee un arreglo de bytes del flujo. 

int read(byte[] b, int off, int len) – Lee un arreglo de bytes del flujo, desde y hasta la posición indicada.

La clase Reader:

int read() – Lee el próximo carácter del flujo representado en un entero. Devuelve -1 si no quedan mas datos que leer.

int read(char[] cbuf) – Lee un arreglo de caracteres del flujo.

int read(char[] cbuf, int off, int len) – Lee un arreglo de caracteres del flujo, desde y hasta la posición indicada.

Escritura

La clase OutputStream:

void write(int b) – Escribe un solo byte en el flujo.

void write(byte[] b) – Escribe un arreglo de bytes en el flujo.

void write(byte[] b, int off, int len) – Escribe una porción de un arreglo de bytes en el flujo.

La clase Writer:

void write(int c) – Escribe un solo carácter en el flujo.

void write(char[] cbuf) – Escribe un arreglo de caracteres en el flujo.

void write(char[] cbuf, int off, int len) - Escribe una porción de un arreglo de caracteres en el flujo.

Entrada y Salida estándar

La clase System, en el paquete java.lang de la API estándar, posee referencias estáticas hacia tres objetos que representan flujos de datos ya abiertos y preparados para poder usarse. Estos flujos son:

InputStream in (InputStream)   – Flujo de entrada estándar. Típicamente corresponde al teclado.

PrintStream out (OutputStream) – Flujo de salida estándar. Típicamente corresponde a la pantalla.

PrintStream err (OutputStream) – Flujo de salida estándar de errores. Típicamente corresponde a la pantalla.

Cualquiera de estos flujos pueden ser redirigidos hacia otras fuentes o destinos.

Inicio

Siguiente