Отслеживание изменений в директории - C#
Формулировка задачи:
Всем здравствуйте.
Нужно написать код, который бы отслеживал изменения в директории, то есть создание/удаление/изменение файлов/субдиректорий в ней. Но не используя FileSystemWatcher. Нужно проверять содержимое папки по событию Elapsed у System.Timers.Timer и сравнивать старый и новый списки файлов/субдиректорий. Вопрос: как это осуществить? В гугле информация только о FileSystemWatcher, который использовать нельзя.
Спасибо!
Решение задачи: «Отслеживание изменений в директории»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Timers; namespace CustorSerialization { class Program { static Timer myTimer; static DirectoryInfo[] dirInfo = null; static FileInfo[] fileInfo = null; static void Main(string[] args) { myTimer = new Timer(1000.0); myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed); myTimer.Start(); dirInfo = new DirectoryInfo(@"C:\Windows").GetDirectories(); foreach (DirectoryInfo di in dirInfo) { fileInfo = di.GetFiles(); } Console.ReadLine(); } static void myTimer_Elapsed(object sender, ElapsedEventArgs e) { DirectoryInfo[] dInfo = new DirectoryInfo(@"C:\Windows").GetDirectories(); foreach (DirectoryInfo di in dInfo) { FileInfo[] fInfo = di.GetFiles(); } if (dirInfo.Length != dInfo.Length) { Console.WriteLine("Количество папок в целевой директории не совпадает!"); dirInfo = new DirectoryInfo(@"C:\Windows").GetDirectories(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д