Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET.


Уроки по C#. Рассылки сайта progs.biz
Выпуск № 91
 
Начало > C# > Основы > Урок 62

Грег Снук. Создание 3D-ландшафтов в реальном времени с использованием C++ и DirectX 9.
Грег Снук. Создание 3D-ландшафтов в реальном времени с использованием C++ и DirectX 9
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 62.

Основы C#
Урок 62. Класс FileSystemWatcher - пример использования

Вот пример использования класса FileSystemWatcher. В данном примере мы отслеживаем события переименования, удаления, создания и изменения размера файла.

using System;
using System.IO;
namespace SystemWatcher
{
    class Class1
    {
        static void Main(string[] args)
        {
            FileSystemWatcher watcher = new FileSystemWatcher(@"c:\tmp");
            // Следим за изменением имени и размера файлов.
            watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.Size;
            // Добавляем обработчики для событий.
            watcher.Renamed += new RenamedEventHandler(OnRenamed);
            watcher.Deleted += new FileSystemEventHandler(OnChanged);
            watcher.Created += new FileSystemEventHandler(OnChanged);
            watcher.Changed += new FileSystemEventHandler(OnChanged);

            watcher.EnableRaisingEvents = true;
            
            Console.WriteLine("Press 'q' to exit");
            while (Console.Read() != 'q') ;
        }
        // Обработчик для события переименования файла.
        private static void OnRenamed(object source, RenamedEventArgs e)
        {
            Console.WriteLine("{0} renamed to {1}", e.OldName, e.Name);
        }
        // Обработчик для остальных события файла.
        private static void OnChanged(object source, FileSystemEventArgs e)
        {
            switch (e.ChangeType)
            {
                case WatcherChangeTypes.Deleted:
                    Console.WriteLine("{0} - deleted", e.Name);
                    break;
                case WatcherChangeTypes.Created:
                    Console.WriteLine("{0} - created", e.Name);
                    break;
                case WatcherChangeTypes.Changed:
                    Console.WriteLine("{0} - changed", e.Name);
                    break;
            }
        }
    }
}

Обратите внимание, что для обработчика события Changed мы установили фильтр:

...
watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.Size;
 ...

Т. е. мы, например, не отслеживаем в данном примере время последнего доступа к файлу или изменения атрибутов файла.

Также обратите внимание, что мы используем один обработчик для 3-х событий - Deleted, Created и Changed.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2006 сайт progs.biz
© 2002-2006 Игорь Алексеев

В избранное