使用Excel或记事本阅读时写入日志文件

时间:2015-09-11 20:30:49

标签: c# file stream

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

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声明了流,但我说该文件已被锁定以进行编辑。

1 个答案:

答案 0 :(得分:1)

在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();
      }
   }
}