Java - binaryStream aus C umwandeln (Zahlen)

Hallo,

ich hier ein kleines Problem und komm nicht weiter. Ich importiere eine Datei, die aus vielen Datensätzen besteht und aus der "C-Welt" kommt. Jeder Satz ist 10 Byte groß.
Definiert sind die folgende Zahlenbereich:

CHAR -128 ... +127
SHORT -32768 ... +32767
LONG -2147483648 ... +2147483647

per HEX Editor sieht dann ein Satz z.B. so aus:
09 0F 01 00 95 19 33 01 00 00

Definiert für den Satz ist
1 Char 1 Byte
2 Char 1 Byte
3 Short 2 Byte
4 Short 2 Byte
5 Long 4 Byte

Folgendes hab ich schonmal ausprobiert...
Code:
field1 = dis.readByte();
field2 = dis.readByte();
field3 = dis.readShort();
field4 = dis.readShort();

dis.read(ulong2big, 1, 4);
BigInteger bi = new BigInteger(ulong2big);
field5 = bi.longValue();
...
aber das was da rauskommt macht irgendwie keinen Sinn??? Ist das hier der richtige Ansatz, oder würdet ihr das anders machen???
 
dein "long" heißt in java "int" und ist ein gewöhnlicher 32 Bit signed integer wert -> readInt()
 
Zurück
Oben