我正在创建一个文件并将其发送回网络浏览器,如下所示:
org.joda.time.format.DateTimeFormatter fmt2 = DateTimeFormat.forPattern("ddMMyyyy");
File file = new File("VE_ximport_"+dateLivraison.toString(fmt2)+".txt");
FileWriterWithEncoding writer;
writer = new FileWriterWithEncoding(file,"UTF-8", true);
PrintWriter printer = new PrintWriter(writer);
for (Object[] obj : results){
//handle data
printer.write(data);
}
printer.close();
我多次调用此函数,每次都会覆盖文件。
这就是我正在寻找的行为。
它可以在 Ubuntu 上运行。
但在 Windows Server 2012 R2 上,每次我调用该函数时,它都会将数据 append 到现有文件中。
即使我在每次调用之间重新启动服务器,也会 append 文件,不会创建新文件。
我要生气了...
我哪里错了?
谢谢。
最佳答案
目前尚不清楚您指的是哪个文件,但如果您询问的是在这一行创建的文件:
writer = new FileWriterWithEncoding(file,"UTF-8", true)
只需对第二个参数使用 false,这样它每次都会被覆盖。
关于java - 文本文件在 Ubuntu 上被覆盖,但在 Windows 中被追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35608726/