[英]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();
在文件之后的while循環內。 file.Write
將起作用
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();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.