2. INTRODUCCION
En Java la manera de representar las
entradas y las salidas es a base de
streams (flujos de datos). Un stream
es una conexión entre el programa y
la fuente o destino de los datos.
La información se traslada en serie a
través de esta conexión. Todas las
clases de Java relacionadas con la
entrada y salida se agrupan en el
package java.io.
3. Las clases derivadas de InputStream (para lectura) .
Estas clases manejan streams de bytes
4. Las clases derivadas de Reader, que manejan caracteres en
vez de bytes.
5. InputStreamReader
Es una clase derivada de Reader
queconvierte los streams de bytes
a streams de caracteres, es decir,
lee bytes y los convierte en
caracteres. System.in es el objeto
de la clase InputStream para recibir
datos desde la entrada estándar del
sistema (el teclado). De esta forma,
el objeto isr es un stream que
convierte los bytes leídos desde
teclado en caracteres.
6. BufferedReader
La clase BufferedReader deriva de la clase
Reader. Esta clase añade un buffer para
realizar una lectura eficiente de caracteres.
Dispone del método readLine que permite leer
una línea de texto y devolverla como String.
7. Métodos
Nos devuelve el número de datos leídos y guarda lo leído en
el arreglo buffer.
int read(byte buffer[]). int read(byte[] buffer, int comienzo,
int longitud). Es parecido al anterior, solo que aquí se le
especifica a partir de que posición del arreglo se
comenzarán a guardar los datos(comiezo), así como el
número máximo de datos a leer (longitud).
long skip(long n). Método similar a read(), que sirve para
saltarse un número de bytes del stream, es decir, no se
quiere leer. Nos regresa el número de datos saltados.
long available(). Este método nos indica cuantos bytes del
stream se pueden leer o saltar. No es un método fiable,
pues determinados streams, siempren devuelven 0, ya que
el método available() de la clase InputStream siempre
regresa 0. Por lo tanto es necesario que todas las subclases
de ésta clase redefinan este método.
8. Métodos
boolean markSupported(). Comprueba si el
stream de entrada soporta los métodos mark y
reset.
mark(int readlimit) y reset(). Con mark() se
marca una posición de un stream (readlimit nos
indica la cantidad de bytes que pueden ser leídos
antes que la marca impuesta sea inválida), y para
regresar a esa posición se utiliza el método
reset().
close(). Cierra el stream de entrada.
9. MÉTODOS
La lectura del fichero se realiza con una función que
depende del tipo de datos que queremos leer.
boolean readBoolean(): Lee un byte y devuelve
false si vale 0 o true sino.
byte readByte(): Lee y devuelve un byte.
char readChar(): Lee y devuelve un caracter.
double readDouble(): Lee 8 bytes, y devuelve un
double.
float readFloat(): Lee 4 bytes, y devuelve un float.
void readFully( byte b[] ): Lee bytes del fichero y
los almacena en un vector b.
10. MÉTODOS
void readFully( byte b[], int ini, int len ): Lee len bytes del
fichero y los almacena en un vector b.
int readInt(): Lee 4 bytes, y devuelve un int.
long readLong(): Lee 8 bytes, y devuelve un long.
short readShort(): Lee 2 bytes, y devuelve un short.
int readUnsignedByte(): Lee 1 byte, y devuelve un valor de 0
a 255.
int readUnsignedShort(): Lee 2 bytes, y devuelve un valor de
0 a 65535.
String readUTF(): Lee una cadena codificada con el formato
UTF-8.
int skipBytes(int n): Salta n bytes del fichero.
Si no es posible la lectura devuelven –1