所以让我们说我有一个txt文件,我想写一个PrintWriter。为什么下面的代码每次调用时都删除文件的旧内容?
代码:
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方法中只创建一个示例也无法正常工作。
2条答案
按热度按时间z31licg01#
如果你想添加到一个文件的内容,你需要显式地打开文件进行追加;大多数语言的默认设置是覆盖。
在Java中,使用
new FileWriter("myfile.txt", true)
。如果需要的话,您可以在其周围 Package PrintWriter。xwbd5t1u2#
做一些类似的事情:
应该可以。
调用
应该在myfile.txt中添加一个“Hello”行,而不删除之前的内容。
谢谢@keshlam