RandomAccessFile writeInt() und writeChar()

polarpro

Mitglied
Hallo,

ich bastle gerade mit der Klasse RandomAccessFile rum, komme auch gut voran, nur stolpere ich über die Methoden writeInt() und readInt().

Dass ich damit Zeichen in eine Datei schreiben (aus einer Datei lesen) kann, ist mir klar; aber eben nicht genau welche.

Für writeInt() schreibt die Dokumentation
"Writes an int to the file as four bytes, high byte first".
Heißt das, ich kann eine beliebige Zahl aus dem Int-Bereich nehmen, welche dann vier Byte Speicher einnimmt? Eine eingegebene Zahl wird quasi "übersetzt" ins Hexadezimalsystem und findet dann auf vier Byte Speicher Platz?

Wenn ich den Zeiger vor das allererste Zeichen meiner Datei setze und die Methode readInt() verwende, erhalte ich den Int-Wert 5505097. Hm. Das entspricht einem Hex-Wert von 00540049. Die ersten vier Ziffern (0054) entsprechen einem T und die zweiten (0049) einem I. Und das sind auch die ersten beiden Zeichen, die ich zuvor indie Datei eingefügt hatte (per writeChars("TI")). Ergibt zwar Sinn, aber was genau dahinter steckt, ist mir noch nicht so ganz klar. Weiß jemand, wo man diese Methoden allsamt genauer erklärt findet?

Danke.
 

musiKk

Top Contributor
Mir ist jetzt nicht klar, wo die Probleme sind. Du hast im Prinzip alles richtig erklärt. Nur von der Vorstellung der Hex-Zahlen solltest Du Dich etwas lösen, das spielt hier keine Rolle, da es sich dabei nur um eine Repräsentationsart handelt.

[c]RandomAccessFile[/c] hat diese Methoden übrigens von [c]DataInput[/c]/[c]DataOutput[/c]. Dort wird es teilweise ausführlicher erklärt. Vielleicht hilft Dir das weiter.
 

polarpro

Mitglied
Du hast im Prinzip alles richtig erklärt.

Das ist schon mal was wert. Man will sich ja nicht fehlerhafte Theorien zusammen basteln. In Sachen
Code:
read...()
und
Code:
write...()
denk ich mir, dass es keine gute Sache ist, die diversen primitiven Typen durcheinander zu verarbeiten. :)

[c]RandomAccessFile[/c] hat diese Methoden übrigens von [c]DataInput[/c]/[c]DataOutput[/c]. Dort wird es teilweise ausführlicher erklärt. Vielleicht hilft Dir das weiter.

Danke, da sind in der Tat ein paar schöne Sachen dabei.
 

musiKk

Top Contributor
Das ist schon mal was wert. Man will sich ja nicht fehlerhafte Theorien zusammen basteln. In Sachen
Code:
read...()
und
Code:
write...()
denk ich mir, dass es keine gute Sache ist, die diversen primitiven Typen durcheinander zu verarbeiten.

Mal als späte Ergänzung: Was mit den entsprechenden Methoden geschrieben wird, behält ja keine Struktur. Wenn also zwei ints geschrieben werden, wird sich niemand beschweren, wenn die dann als acht bytes oder ein long gelesen werden. Klar, meist ist es nicht sinnvoll, die Typen bei Lesen und Schreiben zu ändern, aber auch dafür gibt es Anwendungen, z. B. kann man eine beliebige Struktur in eine Datei schreiben und die dann als ints wieder lesen, um daraus eine Checksumme zu berechnen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
N Randomaccessfile Java Basics - Anfänger-Themen 2
G Wie gebe ich einen Dateipfad in RandomAccessFile an? Java Basics - Anfänger-Themen 2
S TextArea, RandomAccessFile, Apend und andere Tricks... Java Basics - Anfänger-Themen 7
R RandomAccessFile verständnis Problem Java Basics - Anfänger-Themen 10
D RandomAccessFile Java Basics - Anfänger-Themen 2
L RandomAccessFile liest nicht alle Zeichen Java Basics - Anfänger-Themen 3
D Erste Schritte RandomAccessFile "Leerzeichen" löschen Java Basics - Anfänger-Themen 6
F Kann RandomAccessFile Zip Datei lesen? Java Basics - Anfänger-Themen 14
B Klassen RandomAccessFile Java Basics - Anfänger-Themen 7
B Collections RandomAccessfile & Linkedlist Java Basics - Anfänger-Themen 4
M Frage zur Klasse RandomAccessFile Java Basics - Anfänger-Themen 8
cosmic Frage zu der RandomAccessFile Klasse Java Basics - Anfänger-Themen 6
K RandomAccessFile Java Basics - Anfänger-Themen 4
T RandomAccessFile - Wie schreibe ich etwas in eine txt Datei? Java Basics - Anfänger-Themen 5
C RandomAccessFile vs. Streams Java Basics - Anfänger-Themen 5
D text dateien mit RandomAccessFile manipulieren Java Basics - Anfänger-Themen 6
T RandomAccessFile und der Dateipfad Java Basics - Anfänger-Themen 2
J RandomAccessFile löschen Java Basics - Anfänger-Themen 2
M RandomAccessFile Java Basics - Anfänger-Themen 3
G RandomAccessFile, FileChannel, MappedByteBuffer Java Basics - Anfänger-Themen 12
P Datei mit RandomAccessFile einlesen Java Basics - Anfänger-Themen 14
M RandomAccessFile schreibt Sonderzeichen vor String Java Basics - Anfänger-Themen 2
R RandomAccessFile mit anderen Streams verbinden Java Basics - Anfänger-Themen 5
J File, RandomAccessFile File wird größer Java Basics - Anfänger-Themen 8
J RandomAccessFile schreibt falsch Java Basics - Anfänger-Themen 2
G RandomAccessFile Java Basics - Anfänger-Themen 20
R RandomAccessFile Java Basics - Anfänger-Themen 4
R RandomAccessFile und ObjectoutputStream Java Basics - Anfänger-Themen 2
T RandomAccessFile erzeugt seltsame Zeichen Java Basics - Anfänger-Themen 2
P RandomAccessFile Java Basics - Anfänger-Themen 2
L RandomAccessFile und readChar readByte Java Basics - Anfänger-Themen 2
D konvertierungsprobleme bei RandomAccessFile Java Basics - Anfänger-Themen 4
L RandomAccessFile - Prob Java Basics - Anfänger-Themen 4
N RandomAccessFile(File, String) erstellt datei?! Java Basics - Anfänger-Themen 6
B RandomAccessFile Java Basics - Anfänger-Themen 12
M RandomAccessFile liest nur jeden zweiten Wert aus! Java Basics - Anfänger-Themen 8
G RandomAccessFile Java Basics - Anfänger-Themen 2
O RandomAccessFile komisch zeichen Java Basics - Anfänger-Themen 7
A RandomAccessFile Java Basics - Anfänger-Themen 7
B String in ein RandomAccessFile einfügen (bestimmte Position) Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben