检查文本文件中的更改

本文关键字:文本 文件 检查 | 更新日期: 2023-09-27 18:02:14

我需要一种简单的方法来监视文本文件的更改。不需要任何组件,只需要一些功能或只是如何做到这一点。

我正在考虑检查文件大小是否有任何更改,这是监控更改的推荐方法吗?

检查文本文件中的更改

你可以使用FileSystemWatcher

存在一个OnChanged事件处理程序。

  var w = new FileSystemWatcher();
  w.Path = @"C:'SomePath";
  w.NotifyFilter = NotifyFilters.LastWrite;
  w.Filter = "*.txt";
  w.Changed += new FileSystemEventHandler(OnChanged);
  w.EnableRaisingEvents = true;

:

private void OnChanged(object source, FileSystemEventArgs e)
{
    // TODO
}

您正在寻找FileSystemWatcher。

你可以使用。net提供的FileSystemWatcher对象

在Codeproject
上有一个完整的示例和源代码。

虽然大多数答案指向FileSystemWatcher,但我认为这只是一个更复杂的过程中的一步。

你要走多远取决于实际的业务案例,你没有和我们分享,所以我将列出一些你可以做的事情来检测变化,进一步的列表收紧检测精度以复杂性和性能为代价

  • 如果你正在持续监控,在启动和文件系统监视器上连接你的逻辑
  • 检查文件的时间戳和大小
  • 检查前几个字节和最后几个字节
  • 校验文件:

    —XOR (fast)
    ——CRC32
    - - - MD5——SHA256(慢,安全)

  • 存储一个精确的副本(超出任何想象)

所以当你的运动触发的鸟类相机拍照时,你是在说给自己发一条推文,还是在说检测证书文件中的变化?