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

我有一个文本文件,每次都会从服务器数据中进行更新。现在根据我的要求,我必须连续地逐行读取此文件。我知道如何逐行读取文件,但不能连续读取这是我的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;
}

File.Exists是否不能在UWP项目中使用? - c#

File.Exists(filePath);在控制台应用程序中可以完美地工作,但是当我在uwp中执行相同的操作时,它不会检测到文件。我试图在各种方法上设置断点,并尝试任何可以为我提供有关此问题的信息的方法,但是无论我尝试什么,我都一无所获。来自UWP应用的代码: string path = @"C:\Users\Name\Desktop\image…

jQuery File Upload插件-空文件上传结果 - php

在过去的几天里,我一直在使用this插件进行自定义,并将其设置为可以完全按照我的站点要求工作。我在本地服务器上一切正常,没有错误/错误。但是,当我尝试将其上传到我的Plesk服务器时,没有文件显示在加载状态(即使目标文件夹中有图像),并且当我尝试上传im时,出现“空文件上传结果”错误。奇怪的是,即使显示了错误,文件上传似乎仍然起作用,并且相关的图像出现在文件…

获取PHP中函数调用者的__FILE__常量 - php

我知道PHP中的__FILE__魔术常数将变成当前执行文件的完整路径和文件名。但是,有什么方法可以使函数的调用文件获得相同的信息吗?例如://foo.php: include "bar.php"; call_it(); //bar.php function call_it() { echo "Calling file: …

如何在PHP中设置get_file_contents的时间限制? - php

有时get_file_contents花费的时间太长,这会挂起整个脚本。有什么方法可以设置get_file_contents的超时限制,而无需修改脚本的最大执行时间?编辑:由于该文件不存在,因此花费了很长时间。我收到“无法打开流:HTTP请求失败!”错误。但这需要永远。 参考方案 通过使用timeout option创建上下文,似乎在PHP> 5.2.…

File_exists但不包含 - php

我正在尝试包含一个文件,但它似乎无法正常工作-这是整个代码:if (file_exists('config/categories.php')) { include ('config/categories.php'); } foreach ($categories as $cat_sef => $cat_name)…