我想定期读取正在写入的日志文件。
该程序将定期读取日志文件内容并解析它以提取一些值。但我不想每次都读取整个文件。
有没有办法从特定行开始读取文件?
例如,第一次读取该文件有 100 行。我记下这个值,下次读取时我会从第 100 行开始读取并存储当前文件的行号。
有没有有效的方法来做到这一点?
日志文件将增长到大约 100MB,我需要大约每 5 秒读取一次。所以每次都读取完整的文件效率不高。
任何建议都将不胜感激。
我想你正在寻找这个,其中偏移量将是你想要回溯的程度。参考:MSDN http://msdn.microsoft.com/en-us/library/system.io.filestream.seek.aspx
using (FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read))
{
fs.Seek(offset, SeekOrigin.End);
}
现在,文件流指向您设置“偏移”的文件中的最深处,您可以从那里读取。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)