使用 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();
}
}
}
我正在使用此流写入日志文件:
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();
}
}
}