Ich will in eine bestehende XML Datei Strings schreiben. Da es aber immer spätestens vor dem letzten Element sein muss, nutze ich RandomAccessFile, da man nur damit wie es scheint per Filepointer sich in der Datei bewegen kann.
Das Lesen klappt problemlos, nur beim Schreiben ist es seltsam.
Folgender Code:
In ... lass ich suchen, ob das Element vorhanden ist oder nicht und wenn nicht, setz ich den dateizeiger wieder an den Anfang und lese bis vor die letzte Zeile, wo nun der neue Code hin soll.
Nur in der Datei hat jedes durch die Funktion geschriebene Zeichen ein Viereck davor...kann ich hier nicht einfügen.
Warum ist das so? BufferedFileWriter würde ja nicht viel bringen, da ich damit ja nicht vor der letzten Zeile schreiben könnte..
Das Lesen klappt problemlos, nur beim Schreiben ist es seltsam.
Folgender Code:
Code:
RandomAccessFile fw=new RandomAccessFile("settings/programs.xml", "rw");
...
fw.seek(0);
for(int i=0; i<lines;i++)
fw.readLine();
fw.writeChars('<' + name + "/>");
In ... lass ich suchen, ob das Element vorhanden ist oder nicht und wenn nicht, setz ich den dateizeiger wieder an den Anfang und lese bis vor die letzte Zeile, wo nun der neue Code hin soll.
Nur in der Datei hat jedes durch die Funktion geschriebene Zeichen ein Viereck davor...kann ich hier nicht einfügen.
Warum ist das so? BufferedFileWriter würde ja nicht viel bringen, da ich damit ja nicht vor der letzten Zeile schreiben könnte..