C# 实现监控文件夹和里面文件的变化
时间: 2024-03-25 21:39:29 浏览: 105
FileSystemWatcher 多文件夹、多文件类型文件监控完整实例源码
可以使用C#提供的FileSystemWatcher类来实现监控文件夹和里面文件的变化。以下是一个简单的示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// 创建一个新的FileSystemWatcher对象
FileSystemWatcher watcher = new FileSystemWatcher();
// 设置要监控的文件夹路径
watcher.Path = @"C:\myfolder";
// 监控所有类型的文件
watcher.Filter = "*.*";
// 监控文件变化的类型
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
// 添加事件处理程序
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
// 启动监控
watcher.EnableRaisingEvents = true;
Console.WriteLine("Press any key to stop monitoring...");
Console.ReadKey();
}
// 处理文件变化事件
private static void OnChanged(object source, FileSystemEventArgs e)
{
Console.WriteLine($"File: {e.FullPath} {e.ChangeType}");
}
// 处理文件重命名事件
private static void OnRenamed(object source, RenamedEventArgs e)
{
Console.WriteLine($"File: {e.OldFullPath} renamed to {e.FullPath}");
}
}
```
这个示例代码会监控C:\myfolder文件夹中的所有文件变化,并在控制台输出变化的信息。你可以根据需要修改要监控的文件夹路径、要监控的文件类型和要监控的变化类型,并根据需要添加其他事件处理程序。
阅读全文