Salve a tutti.
Qualcuno mi sa spiegare come funziona un "BufferedInputStream" e come faccio a leggerlo?
Ho visto che c'e' un metodo read , me come parametro ha un array di Byte.
Come funziona?
Grazie a tutti
Salve a tutti.
Qualcuno mi sa spiegare come funziona un "BufferedInputStream" e come faccio a leggerlo?
Ho visto che c'e' un metodo read , me come parametro ha un array di Byte.
Come funziona?
Grazie a tutti
un BufferedInputStream permette di leggere molti byte per volta
alloca un array che si riempie dopo la lettura
se fai
bis = new BufferedInputStream(inputstream);
byte[] b = new byte[8];
bis.read(b, 0, 8);
b contiene i primi 8 byte del flusso
ok,
ma leggo solo 8 byte dello stream ? e se e' piu' lungo?
read(b, off, len);
b array di byte
off punto da cui comincia a scrivere i dati
len numero di byte da leggere
perdonami, ma forse mi sono espresso male.
Se l'input arriva da un file che apro per leggere, posso non sapere quanti byte contiene.
Se definisco un array di Byte di 8 byte, come faccio a prendere tutti i byte del file che leggo?
se non sai quanti dati sono scritti devi leggere un byte per volta
oppure leggi quanti byte si possono leggere con
int i = bis.available()
puoi anche utilizzare il metodo read(), che legge un byte alla volta, e ciò che legge te lo ritorna come un intero.
Se ha raggiunto la fine del file, torna un -1
mandi mandi
23-08-2005: Udinese in cémpions lìg
Questa estate l'ho passata a Tallin
Grazie a tutti.
Ora ho capito come funziona
ciao