Sto leggendo un file binario come questo:Convertire 4 byte a int
InputStream in = new FileInputStream(file);
byte[] buffer = new byte[1024];
while((in.read(buffer) > -1) {
int a = // ???
}
Quello che voglio fare per leggere fino a 4 byte e creare un valore int da quelli ma, non lo faccio sapere come farlo
I sorta di sento come se avessi di afferrare 4 byte alla volta, ed eseguire un'operazione "byte" (come >> < < >> & FF e cose del genere) per creare la nuova int
Qual è l'idioma per questo?
EDIT
Ops questo rivelarsi un po 'più complesso (da spiegare)
Quello che sto cercando di fare è, leggere un file (può essere ascii, binario, doesn importa) ed estraete i numeri interi che potrebbe avere.
Ad esempio si supponga che il contenuto binario (in base 2):
00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000010
La rappresentazione intera dovrebbe essere 1
, 2
giusto? : -/1 per i primi 32 bit e 2 per i restanti 32 bit.
11111111 11111111 11111111 11111111
sarebbe -1
e
01111111 11111111 11111111 11111111
sarebbe Integer.MAX_VALUE (2147483647)
Oh no ... uno dei tanti alter ego di Oscar è in aumento di nuovo!. –
@SM: dovrò uccidere lo sai – OscarRyz
Una volta ottenuto questo sopra 10k, inizierai a eliminare le domande da solo? : P –