Hallo Forum,
ich probiere mit folgenden Code eine Zeile in eine als RandomAccessFile geöffnete *.ini Datei einzufügen.
Ich bekomme es aber nicht hin, die genaue Position zu finden.
Das ist mein bisheriger Code.
Hier der Aufbau der ini Datei vor dem einfügen,
und hier danach.
Ich könnte es verstehen, wenn eine Zeile überschrieben wird, auch wenns die Falsch ist. Aber hier werden gleich 5 Zeilen bearbeitet.
Für mich zum Verständnis, wo steht der Pointer nach dem readLine()? Am ende der Zeile oder am Anfang der nächsten Zeile?
Ich hoffe, das mir jemand helfen kann.
THX
Tom
ich probiere mit folgenden Code eine Zeile in eine als RandomAccessFile geöffnete *.ini Datei einzufügen.
Ich bekomme es aber nicht hin, die genaue Position zu finden.
Code:
public void setString(String sProp, String sValue)
{
System.out.println("Setze " + sProp + " = " + sValue);
try{
raf.seek(0);
while((result = raf.readLine()) != null) {
if(result.startsWith(sProp)) {
String sWrite = sProp + "=" + sValue;
int i = result.length();
raf.seek(raf.getFilePointer()-i);
raf.writeBytes(sWrite);
}
}
}
catch(IOException io) {
System.out.println("Fehler: String Var");
System.out.println(io.getMessage());
}
}
Das ist mein bisheriger Code.
Hier der Aufbau der ini Datei vor dem einfügen,
Code:
[Programm]
titel=J DynDNS
revision=1
major=0
minor=0
build=(17)
status=beta
firma=
pfad=
[Proxy]
pon=0
phost=
pport=
puser=
ppassword=
psavepass=1
und hier danach.
Code:
[Programm]
titel=J DynDNS
revision=1
major=0
minor=0
build=(17)
status=beta
firma=
pfpfad=C:\Projekt\DynIP\0
phost=
pport=
puser=
ppassword=
psavepass=1
Ich könnte es verstehen, wenn eine Zeile überschrieben wird, auch wenns die Falsch ist. Aber hier werden gleich 5 Zeilen bearbeitet.
Für mich zum Verständnis, wo steht der Pointer nach dem readLine()? Am ende der Zeile oder am Anfang der nächsten Zeile?
Ich hoffe, das mir jemand helfen kann.
THX
Tom