Auf Thema antworten

Was deinen Fehler angeht

Vertausch mal die Aufrufe, dann wirst du sofort sehen, was du falsch gemacht hast :)

Du hast beim Schreiben vergessen, ein Offset mit anzugeben.

Du willst ja, dass am Ende angehängt wird und nicht, dass vom Anfang an geschrieben wird.

Wenn du ein neues RandomAccessFile Objekt erzeugst, dann ist der Index erst mal auf 0.

Du kannst hier als Offset jeweils die Länge der Datei angeben.


Falls du mal nachbearbeiten willst ... Du weißt, dass das nur geht, wenn alle Zahlen und Srings jeweils gleich lang sind?

Wenn du was zu langes einfügst, dann überschreibst du dir den nächsten Datensatz.


Wenn du wissen willst, wie das geht, dann fange als Übung mit einem StringArray an, in dem alle deine Daten stehen und verändere dort gezielt den Inhalt.


RandomAccessFile macht nämlich nichts anderes als das (und kann gegebenenfalls Zeichen anhängen).

[CODE=java]var chars = "1Ab2Cd3Ef".

    chars[3]='9';

//=> der String würde jetzt so ausschauen "1Ab9Cd3Ef"

    chars[4]='G';

    chars[5]='h';

    chars[6]='i';

//=> der String würde jetzt so ausschauen "1Ab9GhiEf". Damit ist die 3 verloren.

[/CODE]


Meiner Meinung nach ist RandomAccessFile dafür überhaupt nicht geeignet.



Oben