МониторФайловойСистемы
Стд::ВводВывод::Файлы::МониторФайловойСистемы Базовые типы: Закрываемое, Объект |
Иерархия типа
graph BT;
МониторФайловойСистемы-->Закрываемое;
Закрываемое-->Объект;
Отслеживает изменения в одном или нескольких каталогах.
Сравнение ссылочное.
Примеры
пер Каталог1 = новый Файл("C:\\Directory1")
пер Каталог2 = новый Файл("C:\\Directory2")
исп Монитор = новый МониторФайловойСистемы()
// Создайте методы для изначальной обработки
// имеющихся в каталоге файлов и подкаталогов
// ОбработатьВесьКаталог(Каталог1)
// ОбработатьВесьКаталог(Каталог2)
Монитор.Отслеживать(Каталог1)
Монитор.Отслеживать(Каталог2,
ВидыСобытий = ВидСобытияФайловойСистемы.Удаление,
ИменаФайлов = "*.txt")
пока Истина
// Ожидание новых событий
пер МассивСобытий = Монитор.ПолучитьСобытия()
для Событие из МассивСобытий
если Событие.ВидСобытия == ВидСобытияФайловойСистемы.Создание
// Создайте метод для обработки событий создания файлов.
// Используйте свойство "Событие.Файл", чтобы получить
// информацию о созданном файле
// ОбработатьСоздание(Событие)
;
если Событие.ВидСобытия == ВидСобытияФайловойСистемы.Удаление
// Создайте метод для обработки событий удаления файлов.
// Используйте свойство "Событие.Файл", чтобы получить
// информацию об удаленном файле
// ОбработатьУдаление(Событие)
;
если Событие.ВидСобытия == ВидСобытияФайловойСистемы.ПотеряСобытий
// Заново обработайте весь каталог при потере событий
// ОбработатьВесьКаталог(Событие.Файл)
;
;
;
Конструкторы
МониторФайловойСистемы
МониторФайловойСистемы()
Создает объект типа МониторФайловойСистемы.
Исключения
ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы. Например, если файловая система не поддерживает отслеживание событий.
Методы
ВСтроку
ВСтроку(): Строка
Переопределение: ВСтроку |
Возвращает “FileSystemMonitor “, а затем - список отслеживаемых каталогов через пробел.
Исключения
ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы.
Закрыть
Закрыть()
Переопределение: Закрыть |
Прекращает работу и перестает следить за изменениями во всех каталогах. Если монитор уже был закрыт, не производит никаких действий.
Отслеживать
Отслеживать(
Каталог: Файл,
ВидыСобытий: ВидСобытияФайловойСистемы|ЧитаемаяКоллекция<ВидСобытияФайловойСистемы>|? = Неопределено,
ИменаФайлов: Образец|Строка|ЧитаемаяКоллекция<Образец|Строка>|? = Неопределено,
Глубина: Число? = Неопределено)
Добавляет каталог в очередь для отслеживания. Выбрасывает ИсключениеНедопустимыйАргумент, если аргумент Каталог
не является каталогом. В аргументе ИменаФайлов
могут указываться строки (в том числе может использоваться шаблон поиска), регулярные выражения. Если дополнительные аргументы не указаны, по умолчанию будут отслеживаться:
- события видов Создание, Удаление, Изменение, ПотеряСобытий;
- любого формата;
- с любым именем;
- неограниченной глубины вложенности.
Исключения
ИсключениеНедопустимыйАргумент - указан некорректный путь.
ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы.
ПолучитьСобытия
ПолучитьСобытия(Таймаут: Длительность? = Неопределено): ЧитаемыйМассив<СобытиеФайловойСистемы>
Возвращает массив объектов СобытиеФайловойСистемы, каждое событие удовлетворяет настройкам события для своего каталога. Если очередь в данный момент пуста, можно указать длительность ожидания новых событий в аргументе Таймаут
. Возвращает пустой массив, если событий в очереди не появилось по истечении времени. При отсутствии аргумента Таймаут
ожидание происходит до регистрации каких-либо событий, удовлетворяющих настройкам поиска.
Исключения
ИсключениеНедопустимоеСостояние - МониторФайловойСистемы уже закрыт и ничего не отслеживает.
ИсключениеФайловойСистемы - произошла внутренняя ошибка МонитораФайловойСистемы.