PrintWriter löschen Alter Inhalt einer txt-Datei beim schreiben
So können sagen, ich habe eine txt-Datei, die ich schreiben möchte, um mit einem PrintWriter. Wie kommt der folgende code löscht den alten Inhalt der Datei jedesmal, wenn die genannte?
Code:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class Test {
public static void main(String[] args) {
writeToFile("foo");
writeToFile("bar");
}
public static void writeToFile(String text) {
try {
PrintWriter printer = new PrintWriter(new File("myTextFile.txt"));
printer.println("Your text is:" + text);
printer.close();
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
}
}
}
Ausgabe:
Your text is:bar
Ich vermute, das ist etwas, was mit der Tatsache zu tun, dass ich die Schaffung eines neuen PrintWriter oder eine neue Datei jedes mal, wenn die Methode aufgerufen wird, aber nur eine Instanz erstellt wird, in der main-Methode funktionierte nicht so gut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten hinzufügen, um den Inhalt einer Datei ist, müssen Sie explizit öffnen der Datei zum Anhängen; der Standard in den meisten Sprachen ist überschreiben.
Nicht in Java, verwenden
new FileWriter("myfile.txt", true)
. Sie können dann wickeln Sie einen PrintWriter um, falls gewünscht.