我使用文件追加器记下特定事件发生时的当前时间戳。有人可以帮助如何覆盖.log文件,其中只应在任何给定的时间点记录时间戳。
如果我以编程方式删除现有文件并尝试存储值,则在四个事件中,我只能存储第一个和第三个事件,第二个和第四个事件我不会看到.log文件但是我可以在我的控制台上看到一个记录器,表示记录了时间戳(对于所有四个事件)。这是例外,因为我在编程中删除文件,在执行过程中的某个地方。
//timer expired?
if(diffInMin > lagAllowed){
file.delete();
return true;
}else{
LOGGER.info("Can't recorded time for next \"{}\" minutes",(lagAllowed - diffInMin) );
return false;
}
答案 0 :(得分:0)
一种解决方案是使用PrintWriter
。如果该文件存在,那么它将被截断为零大小。
//timer expired?
if(diffInMin > lagAllowed){
PrintWriter writer = new PrintWriter(file);
writer.close();
return true;
}else{
LOGGER.info("Can't recorded time for next \"{}\" minutes",(lagAllowed - diffInMin) );
return false;
}