Link Search Menu Expand Document

МониторФайловойСистемы

Стд::ВводВывод::Файлы::МониторФайловойСистемы
Базовые типы: Закрываемое, Объект

Иерархия типа

graph BT;
МониторФайловойСистемы-->Закрываемое;
Закрываемое-->Объект;

Отслеживает изменения в одном или нескольких каталогах.

Сравнение ссылочное.


Примеры

пер Каталог1 = новый Файл("C:\\Directory1")
пер Каталог2 = новый Файл("C:\\Directory2")
исп Монитор = новый МониторФайловойСистемы()
// Создайте методы для изначальной обработки
// имеющихся в каталоге файлов и подкаталогов
// ОбработатьВесьКаталог(Каталог1)
// ОбработатьВесьКаталог(Каталог2)
Монитор.Отслеживать(Каталог1)
Монитор.Отслеживать(Каталог2,
        ВидыСобытий = ВидСобытияФайловойСистемы.Удаление,
        ИменаФайлов = "*.txt")
пока Истина
    // Ожидание новых событий
    пер МассивСобытий = Монитор.ПолучитьСобытия()
    для Событие из МассивСобытий
        если Событие.ВидСобытия == ВидСобытияФайловойСистемы.Создание
            // Создайте метод для обработки событий создания файлов.
            // Используйте свойство "Событие.Файл", чтобы получить
            // информацию о созданном файле
            // ОбработатьСоздание(Событие)
        ;
        если Событие.ВидСобытия == ВидСобытияФайловойСистемы.Удаление
            // Создайте метод для обработки событий удаления файлов.
            // Используйте свойство "Событие.Файл", чтобы получить
            // информацию об удаленном файле
            // ОбработатьУдаление(Событие)
        ;
         если Событие.ВидСобытия == ВидСобытияФайловойСистемы.ПотеряСобытий
            // Заново обработайте весь каталог при потере событий
            // ОбработатьВесьКаталог(Событие.Файл)
        ;
    ;
;

Конструкторы

МониторФайловойСистемы

МониторФайловойСистемы()

Создает объект типа МониторФайловойСистемы.

Исключения

ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы. Например, если файловая система не поддерживает отслеживание событий.


Методы

ВСтроку

ВСтроку(): Строка
Переопределение: ВСтроку

Возвращает “FileSystemMonitor “, а затем - список отслеживаемых каталогов через пробел.

Исключения

ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы.


Закрыть

Закрыть()
Переопределение: Закрыть

Прекращает работу и перестает следить за изменениями во всех каталогах. Если монитор уже был закрыт, не производит никаких действий.


Отслеживать

Отслеживать(
  Каталог: Файл,
  ВидыСобытий: ВидСобытияФайловойСистемы|ЧитаемаяКоллекция<ВидСобытияФайловойСистемы>|? = Неопределено,
  ИменаФайлов: Образец|Строка|ЧитаемаяКоллекция<Образец|Строка>|? = Неопределено,
  Глубина: Число? = Неопределено)

Добавляет каталог в очередь для отслеживания. Выбрасывает ИсключениеНедопустимыйАргумент, если аргумент Каталог не является каталогом. В аргументе ИменаФайлов могут указываться строки (в том числе может использоваться шаблон поиска), регулярные выражения. Если дополнительные аргументы не указаны, по умолчанию будут отслеживаться:

Исключения

ИсключениеНедопустимыйАргумент - указан некорректный путь.

ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы.


ПолучитьСобытия

ПолучитьСобытия(Таймаут: Длительность? = Неопределено): ЧитаемыйМассив<СобытиеФайловойСистемы>

Возвращает массив объектов СобытиеФайловойСистемы, каждое событие удовлетворяет настройкам события для своего каталога. Если очередь в данный момент пуста, можно указать длительность ожидания новых событий в аргументе Таймаут. Возвращает пустой массив, если событий в очереди не появилось по истечении времени. При отсутствии аргумента Таймаут ожидание происходит до регистрации каких-либо событий, удовлетворяющих настройкам поиска.

Исключения

ИсключениеНедопустимоеСостояние - МониторФайловойСистемы уже закрыт и ничего не отслеживает.

ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы.


Список унаследованных методов

Объект