C#でのFileSystemWatcherの使い方は?
FileSystemWatcherクラスはファイルシステムでの変更を監視するために使用されます。たとえば、ファイルやディレクトリの作成、変更、削除、名前の変更などです。以下はFileSystemWatcherクラスを使用した基本的な手順です:
- FileSystemWatcherオブジェクトを作成し、監視するパスを設定してください。
- 指定要监视的文件类型或所有文件(可选)。
- 「変更の監視対象となる種類(作成、編集、削除、名称変更)を設定してください。」
- サブディレクトリを監視するかどうかを設定します(オプション)。
- ファイルシステムの変更イベントを処理するためにイベントハンドラを登録してください。
- 監視を開始します。
FileSystemWatcherクラスを使用して、特定のパスのファイル変更を監視する方法を示す例が以下にあります。
using System;
using System.IO;
class Program
{
static void Main()
{
// 创建FileSystemWatcher对象并设置要监视的路径
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "C:\\Path\\To\\Directory";
// 设置要监视的文件类型或所有文件
watcher.Filter = "*.txt";
// 设置要监视的更改类型
watcher.NotifyFilter = NotifyFilters.LastWrite;
// 设置是否监视子目录
watcher.IncludeSubdirectories = true;
// 注册事件处理程序
watcher.Changed += OnChanged;
// 启动监视
watcher.EnableRaisingEvents = true;
// 等待用户输入以退出程序
Console.WriteLine("Press enter to exit.");
Console.ReadLine();
}
// 文件更改事件处理程序
private static void OnChanged(object source, FileSystemEventArgs e)
{
// 处理文件更改事件
Console.WriteLine($"File {e.Name} has been {e.ChangeType}.");
}
}
上記の例では、”C:\Path\To\Directory”ディレクトリ内の.txtファイルの変更を監視するFileSystemWatcherオブジェクトを作成しました。そして、ファイル変更イベントを処理するOnChangedイベントハンドラを登録しました。最後に、監視を開始し、ファイル変更に関する情報をコンソールに出力しました。必要に応じてパス、ファイルタイプ、イベントハンドラを変更して、ニーズに合わせることができます。