使用 Excel 或记事本在读取日志文件的同时写入日志文件

Writing log file while reading it with Excel or Notepad

我正在使用此流写入日志文件:

using(FileStream fs = new FileStream(Path.Combine(Folder, LogFile),
                                      FileMode.OpenOrCreate,
                                      FileAccess.Write,
                                      FileShare.ReadWrite))
{
   using(System.IO.StreamWriter file = new System.IO.StreamWriter(fs))
   {
      while(!token.IsCancellationRequested)
      {          
         file.WriteLine("bla bla bla");
      }
   }
}

此代码示例的目的是写入日志文件。我希望能够做的是在这段代码为 运行 时用 Excel 或记事本阅读它。我可以使用 Excel 从外部打开文件,但是在我停止程序之前文件是空的。 此外,当我尝试用 Excel 打开它时,尽管我用 FileShare.ReadWrite.

声明了流,但我说文件已被锁定以进行编辑

当在 while 循环中写入文件并且您想实时查看数据时 NotePad 您需要立即 Flush the data 在您的情况下一个简单的

file.Flush(); 

file.Write 之后的 while 循环内部

using(FileStream fs = new FileStream(Path.Combine(Folder, LogFile),
                                      FileMode.OpenOrCreate,
                                      FileAccess.Write,
                                      FileShare.ReadWrite))
{
   using(System.IO.StreamWriter file = new System.IO.StreamWriter(fs))
   {
      while(!token.IsCancellationRequested)
      {          
         file.WriteLine("bla bla bla");
         file.Flush();
      }
   }
}