在C#中监控文件更改
问题: 寻找一种机制来检测磁盘上的文件修改。
答案: FileSystemWatcher
类提供了一个可靠的解决方案。
说明:
FileSystemWatcher
类监控指定目录中的文件更改。当发生更改时,它会引发可以处理以执行所需操作的事件。以下代码演示了如何使用 FileSystemWatcher
:
<code class="language-csharp">public void CreateFileWatcher(string path) { // 创建 FileSystemWatcher 实例并配置其属性 FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = path; watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*.txt"; // 添加事件处理程序 watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.Created += new FileSystemEventHandler(OnChanged); watcher.Deleted += new FileSystemEventHandler(OnChanged); watcher.Renamed += new RenamedEventHandler(OnRenamed); // 开始监控 watcher.EnableRaisingEvents = true; } private static void OnChanged(object source, FileSystemEventArgs e) { // 定义在更改、创建或删除文件时要执行的操作 Console.WriteLine("文件: " + e.FullPath + " " + e.ChangeType); } private static void OnRenamed(object source, RenamedEventArgs e) { // 定义在文件重命名时要执行的操作 Console.WriteLine("文件: {0} 重命名为 {1}", e.OldFullPath, e.FullPath); }</code>
在此示例中,监视器配置为监控特定路径中文本文件(*.txt)的更改。当该路径内的文件发生更改、创建、删除或重命名时,将调用相应的事件处理程序,允许您相应地采取措施,例如记录事件或更新应用程序的状态。
以上是如何在 C# 中监控文件更改?的详细内容。更多信息请关注PHP中文网其他相关文章!