Слежение за файловой системой

 

Пример реализации слежения за файловой системой (создание, удаление...)

FileSystemWatcher

 

Исходный код примера: FileSystemWatcher.zip

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);

            }

      }

}

 


 

 

 
24.11.2008

Отзывы и комментарии

 


 
Тема
Ваше имя
Почтовый адрес
Текст сообщения
Ключ защиты:
Защита от спама
 
 
 
 
10.12  .NET Reactor
15.11  n
15.11  C# ClickOnce
 
11.10  GAC и ngen
10.10  SqlTypes