Перейти к основному содержимому

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

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

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

Сравнение

Ссылочное

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

Базовые типы: Закрываемое, Объект


Примеры

Общие примеры

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

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

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

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

Исключения

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


Методы

ВСтроку

ВСтроку(): Строка
Возвращает "FileSystemMonitor ", а затем - список отслеживаемых каталогов через пробел.

Исключения

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

Переопределение
Объект::ВСтроку


Закрыть

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

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


Отслеживать

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

Исключения

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


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

ПолучитьСобытия(Таймаут: Длительность? = Неопределено): ЧитаемыйМассив<СобытиеФайловойСистемы>
Возвращает массив объектов СобытиеФайловойСистемы, каждое событие удовлетворяет настройкам события для своего каталога. Если очередь в данный момент пуста, можно указать длительность ожидания новых событий в аргументе Таймаут. Возвращает пустой массив, если событий в очереди не появилось по истечении времени. При отсутствии аргумента Таймаут ожидание происходит до регистрации каких-либо событий, удовлетворяющих настройкам поиска.

Исключения

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


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

Закрываемое

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

Объект

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

ПолучитьТип

Представление