如果我有以下代码:
private PrintWriter m_Writer;
m_Writer = new PrintWriter(new FileWriter(k_LoginHistoryFile));
我正在写一个名为k_LoginHistoryFile
的服务器上的本地文件
现在,当我的程序运行它为这个文件写作时,我怎样才能删除每次写入之间的所有文件内容?
我认为这很重要,因为我不想写一个文件,该文件最终会在其开头有最新信息,而不是最新信息。
提前致谢
答案 0 :(得分:7)
这个表达式:
new FileWriter(k_LoginHistoryFile)
如果文件存在,将截断您的文件。它不仅会覆盖文件的开头。目前尚不清楚这段代码执行的频率,但每次执行时,您都会启动一个新文件(并有效删除旧内容)。
答案 1 :(得分:1)
我认为这很重要,因为我不想写一个文件,该文件最终会在其开头有最新信息,而不是最新信息。
如果要保留正在运行的输出文件(并且无法保持文件处于打开状态),请考虑以下构造函数:FileWriter(String, boolean)
如果布尔值为 true ,则更新的信息将位于文件的末尾。