So kann diese oder auch nicht eine dumme Frage, aber hier gehen wir! Ich versuche, eine Datei zu schreibenSchreiben in Dateien Ausgabe
So und es nicht außer Kraft setzen, aber es schreibt immer und immer wieder so, ich brauche Hilfe.
Methode:
@SuppressWarnings("resource")
public static void writeFile(File file, String index) {
try {
boolean wri = false;
PrintWriter out = new PrintWriter(new FileWriter(file, true));
Scanner scanner = new Scanner(file);
while(scanner.hasNext()) {
String str = scanner.nextLine();
if(str.equals(index)) {
System.out.println(index);
scanner.close();
wri = true;
break;
} else {
wri = false;
break;
}
}
if(wri != false)
return;
out.write(index);
out.write("\n");
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Meinen Sie damit, dass es nicht die Datei überschrieben wird, sondern an jeden Anruf anhängen?Wenn dies der Fall ist, liegt das daran, dass in dem "FileWriter", der das Anhängen anzeigt, "true" übergeben wird. Aber ich bin mir nicht sicher, ob ich die Frage richtig verstanden habe. – KevinO
Wie durch einen Kommentar impliziert, verwenden Sie die gleiche 'Datei', um (im 'PrintWriter') zu schreiben, während Sie von (im' Scanner') lesen. Ist das das beabsichtigte Verhalten? – KevinO
@KevinO Ja, ich möchte überprüfen, ob es zuerst geschrieben wird, wenn es nicht ist, dann schreibe in die Datei, sonst schreibe nicht. – BeastlyMC956