Konvertiert 4-Byte-int -

Bin ich beim Lesen einer Binär-Datei wie folgt:

InputStream in = new FileInputStream( file );
byte[] buffer = new byte[1024];
while( ( in.read(buffer ) > -1 ) {

   int a = //??? 
}

Was ich tun will, es zu Lesen, bis zu 4 bytes, und erstellen Sie ein int-Wert von denen, aber, ich weiß nicht, wie es zu tun.

Ich habe das Gefühl, ich muss packen 4 Byte zu einem Zeitpunkt, und führen Sie eine "byte" - Betrieb ( wie >> << >> & FF und sowas ) zum erstellen der neuen int

Was ist das idiom dafür?

BEARBEITEN

Ooops diese ein bisschen komplexer ( zu erklären )

Was ich versuche zu tun ist, Lesen Sie eine Datei ( ascii -, Binär -, ist es egal ), und extrahieren Sie die zahlen, die es haben kann.

Beispielsweise angenommen, die binären Inhalte ( Basis 2 ) :

00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000010

Die integer-Darstellung sollte 1 , 2 Recht? :- /1 für die ersten 32 bits, und 2 für die restlichen 32 bits.

11111111 11111111 11111111 11111111

Wäre -1

und

01111111 11111111 11111111 11111111

Wäre Integer.MAX_VALUE ( 2147483647 )

InformationsquelleAutor der Frage OscarRyz | 2010-03-04

Schreibe einen Kommentar