我一直在試圖實時讀取文本文件並在控制檯中顯示其最後一行。問題是,當增長大小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 –