gpt4 book ai didi

C# 在某行开始读取文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:17 25 4
gpt4 key购买 nike

我需要处理一些文件(主要是日志文件),我必须在每一行中使用正则表达式。我用

using (FileStream fs = File.Open("logs.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (BufferedStream bs = new BufferedStream(fs))
using (StreamReader sr = new StreamReader(bs))
{
string line;
while ((line = sr.ReadLine()) != null)
{
// use regex and add create new file..
}
}

但是在日志中我也有“名字更改”,所以如果有人更改了他们的名字我需要再次处理日志,这次使用另一个名字。我可以让它从某一行开始读取,这样可以节省我一些时间吗?

最佳答案

没有定位到特定的功能,但您可以定位到特定的偏移量(字节位置)。有 File.ReadLines().Skip() 方法,但它仍然读取 current implementation 中的所有行.NET 框架。

所以当你停止处理一个文件时,存储当前的偏移量。当您稍后想从那里获取时,Seek 到存储的偏移量(当然,这只是一种有效的方法,前提是我们可以安全地假设存储的偏移量之前的文件部分不会在两者之间发生变化通过)。

Read this用于可能的实现。

关于C# 在某行开始读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44786015/

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