在C#中,你可以使用`FileSystemWatcher`类来监控文件目录中的文件添加和删除操作。以下是一个简单的示例代码,展示了如何设置和使用`FileSystemWatcher`来监控特定目录的更改:
using System;
using System.IO;
class Program
{
static void Main()
{
// 设置要监控的目录
string directoryToWatch = @"C:\path\to\your\directory";
// 创建FileSystemWatcher实例
using (FileSystemWatcher watcher = new FileSystemWatcher())
{
// 设置要监控的目录
watcher.Path = directoryToWatch;
// 设置监控的文件类型
// 这里设置为监控所有文件(*.*)
watcher.NotifyFilter = NotifyFilters.LastAccess
| NotifyFilters.LastWrite
| NotifyFilters.FileName
| NotifyFilters.DirectoryName;
// 只添加对文件创建和删除事件的监听
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
// 开始监控
watcher.EnableRaisingEvents = true;
// 等待用户输入,以便程序持续运行
Console.WriteLine("Press 'Enter' to exit the program.");
Console.ReadLine();
}
}
// 定义文件改变时的事件处理方法
private static void OnChanged(object source, FileSystemEventArgs e)
{
// 显示文件操作类型和文件名
Console.WriteLine($"File: {e.FullPath} {e.ChangeType}");
}
}
在这个例子中,`FileSystemWatcher`被设置为监控指定目录(你需要将`@"C:\path\to\your\directory"`替换为你要监控的实际目录路径)。我们为`Created`和`Deleted`事件添加了事件处理程序`OnChanged`,它会在文件被添加或删除时触发,并在控制台中输出相应的信息。
注意,这个示例程序会无限期地运行,直到你按下回车键。在实际应用中,你可能需要根据具体情况来调整程序的行为,比如使用循环而不是等待用户输入来保持程序运行,或者在检测到特定事件后执行更复杂的操作。