Überschreibe TXT-Datei in Java

Den code, den ich geschrieben haben soll, zu überschreiben, die über den Inhalt des gewählten text-Datei, aber es ' s anzuhängen. Was mache ich genau falsch?

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();
}           

BEARBEITEN

Ich versucht, einen neuen temp.txt Datei und schreibt den neuen Inhalt in,, löschen Sie diesen text-Datei und umbenennen temp.txt auf diese eine. Die Sache ist die, das löschen ist immer erfolglos. Ich glaube nicht, dass ich ändern Benutzer-Berechtigungen für diese tun ich?

Auch, ein Teil von meinem Programm listet alle Dateien in diesem Verzeichnis, so dass ich vermute, Sie werden von dem Programm verwendet und kann so nicht gelöscht werden. Aber warum nicht überschrieben?

GELÖST

Meine größte "D ' Oh" - moment! Ich habe kompilieren in Eclipse statt cmd die war, wo ich war, der Sie ausführt. So meine neu kompilierte Klassen ging in den bin-Ordner und die kompilierte class-Datei über die Eingabeaufforderung die gleichen geblieben in meinem src-Ordner. Ich habe neu kompiliert mit meinem neuen code, und es funktioniert wie ein Charme.

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();
}           

InformationsquelleAutor der Frage Karthik Balakrishnan | 2012-12-05

Schreibe einen Kommentar