gpt4 book ai didi

c# - 如何连续读取文本文件

转载 作者:行者123 更新时间:2023-12-04 01:40:48 33 4
gpt4 key购买 nike

我有一个文本文件,每次都从服务器数据中更新。现在根据我的要求,我必须连续逐行读取这个文件。我知道如何逐行读取文件但不知道如何连续阅读。这是我的 C# 代码,用于逐行读取文件...

if (System.IO.File.Exists(FileToCopy) == true)
{

using (StreamReader reader = new StreamReader(FileToCopy))
{
string line;
string rawcdr;

while ((line = reader.ReadLine()) != null)
{
//Do Processing
}
}
}

根据我的要求,我必须连续观察一个文本文件的变化。假设一个新行已经添加到文本文件中,添加它的那一刻应该由上面定义的代码读取并且处理应该按照条件。

最佳答案

您可以使用 FileSystemWatcher监听文件系统更改通知并在目录或目录中的文件时引发事件。如果文本附加在文本文件中但未修改,那么您可以跟踪已阅读的行号,并在触发更改事件后继续。

private int ReadLinesCount = 0;
public static void RunWatcher()
{
FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = "c:\folder";   
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
           | NotifyFilters.FileName | NotifyFilters.DirectoryName;   
    watcher.Filter = "*.txt";   
    watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;

}

private static void OnChanged(object source, FileSystemEventArgs e)
{
int totalLines - File.ReadLines(path).Count();
int newLinesCount = totalLines - ReadLinesCount;
File.ReadLines(path).Skip(ReadLinesCount).Take(newLinesCount );
ReadLinesCount = totalLines;
}

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

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