Der Code, den ich geschrieben habe, soll den Inhalt der ausgewählten Textdatei überschreiben, aber es hängt es an. Was mache ich genau falsch?Überschreiben von TXT-Datei in Java
File fnew=new File("../playlist/"+existingPlaylist.getText()+".txt");
String source = textArea.getText();
System.out.println(source);
FileWriter f2;
try {
f2 = new FileWriter(fnew,false);
f2.write(source);
/*for (int i=0; i<source.length();i++)
{
if(source.charAt(i)=='\n')
f2.append(System.getProperty("line.separator"));
f2.append(source.charAt(i));
}*/
f2.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
EDIT
Ich habe versucht, eine neue temp.txt Datei vornehmen und die neuen Inhalte in das Schreiben, diese Textdatei zu löschen und temp.txt auf diese eine Umbenennung. Die Sache ist, die Löschung ist immer erfolglos. Ich glaube nicht, dass ich die Benutzerrechte ändern muss, oder?
Auch ein Teil meines Programms listet alle Dateien in diesem Verzeichnis auf, also vermute ich, dass sie vom Programm verwendet werden und daher nicht gelöscht werden können. Aber warum nicht überschrieben?
GELöST
Mein größter "D'oh" Moment! Ich habe es auf Eclipse kompiliert und nicht auf cmd, wo ich es ausführte. Also gingen meine neu kompilierten Klassen in den bin-Ordner und die kompilierte Klassendatei über die Eingabeaufforderung blieb in meinem src-Ordner gleich. Ich habe mit meinem neuen Code neu kompiliert und es funktioniert wie ein Zauber.
File fold=new File("../playlist/"+existingPlaylist.getText()+".txt");
fold.delete();
File fnew=new File("../playlist/"+existingPlaylist.getText()+".txt");
String source = textArea.getText();
System.out.println(source);
try {
FileWriter f2 = new FileWriter(fnew, false);
f2.write(source);
f2.close();
} catch (IOException e) {
e.printStackTrace();
}
Ich denke, es sollte funktionieren. Es funktioniert in meinem Fall. –
Es funktioniert in meinem Fall auch. Vielleicht ist etwas Seltsames in Ihrem Programm passiert. Versuchen Sie, das Problem zu umgehen. Löschen Sie zuerst den gesamten Inhalt und beginnen Sie mit dem Schreiben neuer Inhalte in die gleiche Datei. – Smit
Gibt es Hinweise, wie ich den Inhalt löschen kann? –