c#异步监视文件是否产生
时间: 2023-07-27 14:10:37 浏览: 45
您可以使用 `FileSystemWatcher` 类来监视文件系统中的更改。这个类可以帮助您监视文件或目录的创建、更改、删除或重命名等操作。
以下是一个简单的示例,它使用 `FileSystemWatcher` 类来监视指定目录中的文件是否产生:
```csharp
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// 设置要监视的目录和文件类型
string path = @"C:\MyFolder";
string filter = "*.txt";
// 创建一个文件系统监视器对象
FileSystemWatcher watcher = new FileSystemWatcher(path, filter);
// 设置监视器属性
watcher.IncludeSubdirectories = false;
watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite;
// 绑定事件处理程序
watcher.Created += OnCreated;
// 开始监视
watcher.EnableRaisingEvents = true;
// 等待用户输入
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
static void OnCreated(object sender, FileSystemEventArgs e)
{
// 文件创建事件处理程序
Console.WriteLine($"File created: {e.FullPath}");
}
}
```
上面的示例中,我们创建了一个 `FileSystemWatcher` 对象,并设置了要监视的目录和文件类型。然后,我们绑定了一个事件处理程序来处理文件创建事件。最后,我们启用了监视器,并等待用户输入,直到程序退出。
注意,`FileSystemWatcher` 类是一个异步 API,因此它不会阻塞主线程。如果您需要在事件处理程序中执行长时间运行的操作,建议使用 `Task.Run` 来在后台线程中执行它们。