martes, 27 de marzo de 2007

e3: exactamente ¿cuántos datos leo?

Si haces algo así

byte[] datos= new byte[1024];
int n= inputStream.read(datos);

n puede ser cualquier número entre -1 y 1024.

Si es <=0, es que no hay nada que leer:
lo has leido todo y puedes acabar.

Si n > 0 has leído n datos, que están en las primeras n posiciones del array.

Para codificarlo, no puedes hacer
String codificada= codificador(datos);
sino que tendrás que usar otro método de la clase que sólo codifique n bytes

http://www.lab.dit.upm.es/~lprg/curso/e3/doc/base64/Codificador.html

--------------------
Algo parecido ocurre al descifrar,
int n= reader.read(datos);

De los n caracteres válidos en datos, hay que hacer una String,
mira los constructores disponibles:

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

No hay comentarios: