timestamp
Mitglied Käsekuchen
Hi
ich schreibe für einen Freund ein kleines Programm, dass Codes überprüfen soll. Mittlerweile klappt alles, bis auf das ändern des Statusses eines Codes. Wird ein Code als gültig erkannt, soll der Status auf 1 gesetzt werden. Leider wird bei mir nichts in die Textdatei geschrieben.
Beispiel Textdatei:
Mein Problem: Die Textdatei sieht danach unverändert aus, sprich es wird nichts hineingeschrieben. Ich habe es schon mit writeChars() bzw writeChar() probiert, aber das hat mir immer den Rest der Datei gelöscht. Der betreffende Code steht in Zeile 26
ich schreibe für einen Freund ein kleines Programm, dass Codes überprüfen soll. Mittlerweile klappt alles, bis auf das ändern des Statusses eines Codes. Wird ein Code als gültig erkannt, soll der Status auf 1 gesetzt werden. Leider wird bei mir nichts in die Textdatei geschrieben.
Java:
try {
rf = new RandomAccessFile(codefile, "rw");
rf.seek(0);
boolean run = true;
boolean found = false;
do {
line = rf.readLine();
if (line.length() != 8) {
run = false;
}
if (run) {
check = line.charAt(0) + "" +
line.charAt(1) + "" +
line.charAt(2) + "" +
line.charAt(3) + "" +
line.charAt(4) + "" +
line.charAt(5) + "";
if (check.equalsIgnoreCase(checkCode)) {
if( line.charAt(7) == '0'){
output.setText("Code gültig.");
output.setBackground(Color.green);
run = false;
found = true;
rf.seek(rf.getFilePointer()-11);
byte[] b = {(byte)line.charAt(0),(byte)line.charAt(1),(byte)line.charAt(2),(byte)line.charAt(3),(byte)line.charAt(4),(byte)line.charAt(5),(byte)',',(byte)1};
rf.write(b, (int)rf.getFilePointer()-11, 8);
}
else{
output.setText("Code bereits aktiviert.");
output.setBackground(Color.red);
run = false;
found = true;
}
}
}
} while (run);
if (!found) {
output.setBackground(Color.red);
output.setText("Code nicht gefunden.");
output.setText(output.getText()+" - "+check+" - "+line.length());
}
}
Beispiel Textdatei:
Code:
A23456,0
A23457,0
A23458,0
JFK123,1
END
Mein Problem: Die Textdatei sieht danach unverändert aus, sprich es wird nichts hineingeschrieben. Ich habe es schon mit writeChars() bzw writeChar() probiert, aber das hat mir immer den Rest der Datei gelöscht. Der betreffende Code steht in Zeile 26