gpt4 book ai didi

c#连续读取文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:50 24 4
gpt4 key购买 nike

我想像 GNU tail 一样用“-f”参数连续读取文件。我需要它来实时读取日志文件。正确的做法是什么?

最佳答案

使用 FileSystemWatcher 的更自然的方法:

    var wh = new AutoResetEvent(false);
var fsw = new FileSystemWatcher(".");
fsw.Filter = "file-to-read";
fsw.EnableRaisingEvents = true;
fsw.Changed += (s,e) => wh.Set();

var fs = new FileStream("file-to-read", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using (var sr = new StreamReader(fs))
{
var s = "";
while (true)
{
s = sr.ReadLine();
if (s != null)
Console.WriteLine(s);
else
wh.WaitOne(1000);
}
}

wh.Close();

这里主读取周期停止等待传入数据,FileSystemWatcher 用于唤醒主读取周期。

关于c#连续读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49700285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com