Напишіть консольний додаток на C#, який виконує пошук заданого слова (або фрази) у всіх текстових файлах у вказаній директорії та всіх її вкладених підпапках.
Основні вимоги:
- Інтерфейс додатку повинен залишатися чуйним під час пошуку (користувач може вводити команди навіть коли пошук триває).
- Використовувати кілька потоків (не менше 1 робочого потоку + основний потік для інтерфейсу).
Користувач повинен мати змогу:
- зупинити пошук повністю (скасувати та вийти з пошуку)
- призупинити (pause) пошук
- продовжити (resume) після паузи
Інтерфейс у консолі (приклад):
Пошук слова у файлах
─────────────────────
Введіть шлях до директорії: C:\Projects
Введіть слово для пошуку: Odesa
[Пошук запущено...]
Оброблено файлів: 347 / ? Знайдено входжень: 19
Швидкість: ~120 файлів/сек Активні потоки: 2
Команди (натисканням на клавішу):
P – призупинити пошук
R – продовжити
S – зупинити пошук та показати результат
Esc – вийти з програми
Після введення команди програма реагує відразу, робочі потоки зупиняються (очікують), основний потік продовжує приймати команди.