0

我正在编写一个用于在 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 不能在其中写入任何内容。我认为文件流和流写入器之间存在冲突,您能看到我看不到的任何点吗?

感谢阅读,提前感谢。

4

0 回答 0