[英]PrintWriter deleting old contents of a txt file when writing
因此,可以说我有一个要使用PrintWriter写入的txt文件。 下列代码如何在每次调用文件时删除文件的旧内容?
码:
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();
}
}
}
输出:
Your text is:bar
我猜测这与每次调用该方法时都会创建一个新的PrintWriter或新的File的事实有关,但是在main方法中仅创建一个实例也无法正常工作。
如果要添加到文件的内容,则需要显式打开文件以进行追加; 大多数语言的默认设置是覆盖。
为此,请使用new FileWriter("myfile.txt", true)
。 然后,如果需要,可以将PrintWriter包装在其周围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.