我一直在试图实时读取文本文件并在控制台中显示其最后一行。问题是,当增长大小300kb +我的代码无法处理它或只是事件不触发。 我确实阅读过谷歌上的所有帖子,但无法真正想到如何正确实现此目标。请记住,我是编程超级新手。C#实时读取文本文件
如果您能分享关于如何实现此目的的任何想法,我将不胜感激。 这里是我的示例代码:
var wh = new AutoResetEvent(false);
var fsw = new FileSystemWatcher(".");
fsw.Filter = pathToFile;
fsw.EnableRaisingEvents = true;
fsw.Changed += (s, e) => wh.Set();
var fs = new FileStream("c:/test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using (var sr = new StreamReader(fs))
{
var s = "";
while (true)
{
s = sr.ReadLine();
if (s != null && s.Contains("CActor::ClKill"))
{
await b.Channel.SendMessage(s);
Console.WriteLine("Transmitting: " + s);
}
else
{
Console.WriteLine("Sleeping...");
wh.WaitOne(1000);
}
}
}
wh.Close();
您可以检查这篇文章 http://stackoverflow.com/questions/11625595/read-last-line-of-text-file –