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