我正在编写一个用于在 c# 中记录安全日志的程序。但是有几个问题。
首先,我创建一个 .txt 文件来记录日志。和:
FileStream fs1 = File.Create("C:\\" + filename + ".txt");
fs1.Close();
然后,在一个循环中,我在 txt 文件中写了一些内容:
TextWriter tsw1 = new StreamWriter(@"C:\\" + filename + ".txt", true);
//Writing text to the file.
tsw1.WriteLine(curLogs + " \n");
//Close the file.
tsw1.Close();
之后,我在 c# 中设置了一个计时器,并且每隔 - 例如 - 10 分钟我想重置日志文件。
Timer timer = new Timer();
timer.Tick += new EventHandler(ik.timer_Tick); // Everytime timer ticks, timer_Tick will be called
timer.Interval = (delay); // Timer will tick every 10 mins e.g
timer.Enabled = true; // Enable the timer
timer.Start(); // Start the timer
在 timer_tick 处理程序中,我想删除旧的日志文件,并创建一个同名的新文件,然后继续记录日志。和:
void timer_Tick(object sender, EventArgs e)
{
//FileStream fs = File.Delete("C:\\" + filename + ".txt");
File.Delete("C:\\" + filename + ".txt");
FileStream fs2 = File.Create("C:\\" + filename + ".txt");
fs2.Close();
}
从语法上讲,第一次迭代没有问题,它工作得很好,但问题是,在计时器的第一次迭代之后,log.txt 文件变空了。Filestream 不能在其中写入任何内容。我认为文件流和流写入器之间存在冲突,您能看到我看不到的任何点吗?
感谢阅读,提前感谢。