Урок 59. Класс FileSystemWatcher

Автор: admin | 14 Июнь 2008 – 16:36 -


Урок 59. Класс FileSystemWatcher

Класс FileSystemWatcher из пространства имен System.IO предназначен для отслеживания изменений в файловой системе. Изменения можно отслеживать как на локальном компьютере, так и на удаленном.

Вот пример использования этого класса.

    // Подключем нужное пространство имен.
    using System.IO;
    class Class1
    {
        static void Main(string[] args)
        {
            // Будем следить за папкой "c:\tmp".
            FileSystemWatcher watcher = new FileSystemWatcher(@"c:\tmp");
            // Следим за изменением имени файлов.
            watcher.NotifyFilter = NotifyFilters.FileName;
            // Добавляем обработчик для события переименования файла.
            watcher.Renamed += new RenamedEventHandler(OnRenamed);
            // Начинаем слежение.
            watcher.EnableRaisingEvents = true;
            // Следим, пока пользователь не нажал q.
            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);
        }
    }

Как вы видите, схема действий тут такая – сначала мы указываем, за чем именно мы хотим следить (за какой папкой, за какими файлами и за какими событиями для этих файлов). Потом мы указываем, что за метод будет выполняться при наступлении того или иного события. Разумеется, этот метод должен быть в нашей программе, причем он должен иметь определенную сигнатуру.

Конкретно в нашем примере мы будем отслеживать переименование для всех файлов в папке “c:\tmp”.


Tags: , , , , , , , , , , , , ,
Находится в Уроки C# | No Comments »

Ответить

Вы должны быть в системе, дабы комментировать.


C# — язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio. Пластиковая мебель - мебель для дачи из сосны. Дачи и участки под Москвой. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).