Input/Output InputStream: 32-Bit-Ganzzahl (DWORD) binär lesen

HankScorpio

Mitglied
Hallo,

ich möchte ein bestimmtes Dateiformat auslesen, zu dem die Formatspezifikation vorliegt. In der Spezifikation könnte z.B. ein Schema stehen wie dieses:

- DWORD (32-Bit) id
- WORD (16-Bit) foo
- WORD (16-Bit) bar
- bar-mal UBYTE data

Jetzt überlege ich, wie ich diese unterschiedlich langen Ganzzahlen am elegantesten eingelesen und in ihre Java-Datentyp-Entsprechungen hineinbekomme. Der letzte Part, das Byte-"Array", ist ja relativ einfach und direkt hinzubekommen, aber wie lese ich am besten einen Integer- oder einen Short-Wert aus der Datei binär ein? (Mit "binär" meine ich: Es stehen tatsächlich 2 oder 4 Byte in der Datei und nicht irgendwie als Text "-421337".)
Ich könnte natürlich ein entsprechend langes Byte-Array einlesen und dann mit Bitschieberei und -manipulationen daraus "von Hand" Integer oder so "basteln", aber geht das nicht vielleicht eleganter und kürzer? Oder muss man hier das Rad tatsächlich neu erfinden? :-/

Noch ein Problem eventuell?? -> Die mehrbytigen Ganzzahlen liegen als Little-Endian-Werte vor. :-?

Wie würdet ihr vorgehen?

Viele Grüße und danke euch schon im Voraus!
Hank Scorpio
 

HankScorpio

Mitglied
Danke für die schnelle Antwort zu so später Stunde! :)
Ich würde einfach Byte weise einlesen und die Bitoperatoren anwenden.
Jo, so habe ich mir mittlerweile auch beholfen.
Ich hatte nur - angesichts dessen, dass es für praktisch alles fertige Klassen gibt (Java <3) - vermutet, es gäbe da vielleicht auch schon etwas elegantes Fertiges. :) Denn wenn dem so wäre, sähe die Behelfslösung natürlich etwas "grobmotorisch" aus... ;-)
 

Empire Phoenix

Top Contributor
Bytebuffer oder DataInputStreqam, der hat getInt, getShort ect. Falls die littel/big endian des formates mit Java übereinstimmt ist das damit noch ein bischen einfacherer
 
I

irgendjemand

Gast
Danke für die schnelle Antwort zu so später Stunde! :)

Jo, so habe ich mir mittlerweile auch beholfen.
Ich hatte nur - angesichts dessen, dass es für praktisch alles fertige Klassen gibt (Java <3) - vermutet, es gäbe da vielleicht auch schon etwas elegantes Fertiges. :) Denn wenn dem so wäre, sähe die Behelfslösung natürlich etwas "grobmotorisch" aus... ;-)

gibts doch auch ... nennt sich

java.io.DataInputStream
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
L Input/Output InputStream öffnen? Allgemeine Java-Themen 12
P Input/Output Inputstream verhält sich verschieden Allgemeine Java-Themen 9
R Inputstream lesen mit Pointer Allgemeine Java-Themen 0
M InputStream auslesen Allgemeine Java-Themen 1
M String aus InputStream Allgemeine Java-Themen 3
C Threading mit BufferedReader/InputStream & sockets Allgemeine Java-Themen 0
B BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream Allgemeine Java-Themen 5
P Scanner als Inputstream für Java Prozess Allgemeine Java-Themen 4
E POI-InputStream selber wählen Allgemeine Java-Themen 2
S RandomAcessFile das einen InputStream wrappt..? Allgemeine Java-Themen 2
M Umwandlung ByteArrayOutputStream in InputStream Allgemeine Java-Themen 5
1 InputStream hängt Allgemeine Java-Themen 4
D Datentypen Reader/InputStream wiederverwenden? Allgemeine Java-Themen 11
K Inputstream -> Bilder Allgemeine Java-Themen 23
1 InputStream liest die letzte Zeile nicht ein Allgemeine Java-Themen 2
J Java Datei aus FTP in ein INputstream Allgemeine Java-Themen 2
J InputStream Zip-File Allgemeine Java-Themen 3
F ImageIO cant create InputStream Allgemeine Java-Themen 9
S InputStream "weiterleiten" Allgemeine Java-Themen 12
T Integer aus InputStream lesen Allgemeine Java-Themen 3
T Undwandlung eines String in einen InputStream? Allgemeine Java-Themen 3
M Selbst geschriebener InputStreamReader über einen beliebigen InputStream Allgemeine Java-Themen 4
T OutputStream to InputStream Allgemeine Java-Themen 8
S von OutputStream in InputStream schreiben ohne das es blockiert..? Allgemeine Java-Themen 2
reibi BufferedImage nach InputStream Allgemeine Java-Themen 10
R InputStream zweimal lesen Allgemeine Java-Themen 2
G InputStream und File Allgemeine Java-Themen 11
B InputStream zu URL umwandeln Allgemeine Java-Themen 2
F Teile vom InputStream schreiben Allgemeine Java-Themen 9
J InputStream aus URL funktioniert nicht Allgemeine Java-Themen 7
H InputStream Problem mit externem Kommandozeilenprogramm Allgemeine Java-Themen 2
W InputStream öfters nutzen Allgemeine Java-Themen 9
R The mark method of InputStream does nothing. Allgemeine Java-Themen 4
V String oder doch InputStream? Allgemeine Java-Themen 9
A Inputstream in Outputstream umleiten Allgemeine Java-Themen 7
Nils_Langner InputStream soll sich bei neuen Daten melden Allgemeine Java-Themen 2
R InputStream - seltsamer Output Allgemeine Java-Themen 2
S java.io.InputStream.read(byte[] b) überschreiben Allgemeine Java-Themen 33
N InputStream erst ab gegebener Position Allgemeine Java-Themen 4
R InputStream Allgemeine Java-Themen 5
G InputStream kopieren? Allgemeine Java-Themen 6
D Inputstream aus StringBuffer Allgemeine Java-Themen 3
G inputstream() to imageicon() Allgemeine Java-Themen 7
D Durch OutpustStream und InputStream dateien in eine jar sch Allgemeine Java-Themen 3
G aus String einen InputStream erstellen Allgemeine Java-Themen 2
C Wie kann man im InputStream nach einer Zeichenkette suchen? Allgemeine Java-Themen 4
R Aus InputStream wieder eine Datei erzeugen? Allgemeine Java-Themen 2
N String als Inputstream Allgemeine Java-Themen 4
N Suchen in InputStream/ByteArrayOutputStream Allgemeine Java-Themen 11
M InputStream.read abbrechen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben