Con bytes.
Si tenemos un lector de bytes
InputStream in= new FileInputStream("fichero");
necesitamos un sitio donde leer bytes: un array de tamaño T
byte[] datos= new byte[T];
Cada vez que llamamos a "read()" le pasamos el sitio donde queremos cargar bytes
int n= in.read(datos)
"read()" hace 2 cosas
1. carga bytes en el array "datos" (hasta un máximo de T, si lo hay)
2. nos devuelve en "n" cuántos bytes ha logrado cargar
Por eso, si "n <= 0" es que no hay nada que cargar: se ha acabado el fichero.
Y si "n > 0", podemos usar "n" datos: entre las posiciones "0" y "n-1" del array.
"read()" nunca lee dos veces los mismos datos, sino que en cada llamada va
avanzando por el fichero y lee los datos que hay a continuación.
De esta forma, llamando a "read()" dentro de un bucle,
vamos obteniendo los bytes sucesivos que contiene el fichero.
Con caracteres.
Lo mismo, pero cambiando "InputStream" por "Reader"
y "byte[]" por "char[]".
miércoles, 28 de marzo de 2007
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario