using System;
using System.IO;
namespace FileSystemWatcherTest
{
class TestClass1
{
[STAThread]
static void Main(string[] args)
{
//
// Создаем объект наблюдателя
//
FileSystemWatcher file_watcher = new FileSystemWatcher();
file_watcher.Path = @"С:\";
// Будем следить за измненениями по последнему доступу,
// времени записи и переименованию файла или директорий
file_watcher.NotifyFilter = NotifyFilters.LastAccess
| NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
// Указываем что следить надо только за txt файлами
file_watcher.Filter = "*.txt";
// Добавляем обработчики событий
file_watcher.Changed +=
new FileSystemEventHandler(OnFilsStateChanged);
file_watcher.Created +=
new FileSystemEventHandler(OnFilsStateChanged);
file_watcher.Deleted +=
new FileSystemEventHandler(OnFilsStateChanged);
file_watcher.Renamed +=
new RenamedEventHandler(OnFileRenamed);
// Включаем наблюдение
file_watcher.EnableRaisingEvents = true;
Console.Read();
}
/// <summary>
/// обработчик события изменения
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private static void OnFilsStateChanged(object source,
FileSystemEventArgs e)
{
// Файл изменился, создан или удален
Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}
/// <summary>
/// Обработчик события переименования
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private static void OnFileRenamed(object source, RenamedEventArgs e)
{
// Файл переименован
Console.WriteLine("File: {0} renamed to {1}",
e.OldFullPath, e.FullPath);
}
}
}