static void Main(string[] args) { Task task = Task.Run(() => { CreateRndTextFiles(); }); string path = Directory.GetCurrentDirectory(); FileSystemWatchDemo(path, "*", true); Console.ReadLine(); } private static void CreateRndTextFiles() { for(int i=0;i<10000;i++) { Thread.Sleep(10); File.Create(Guid.NewGuid().ToString() + ".txt"); } } static void FileSystemWatchDemo(string path,string filter,bool includeSubDirs) { using(FileSystemWatcher fsw=new FileSystemWatcher(path)) { fsw.Created += FileCreatedChangedDeteled; fsw.Changed += FileCreatedChangedDeteled; fsw.Deleted += FileCreatedChangedDeteled; fsw.Renamed += FswRenamed; fsw.Error += FswError; fsw.IncludeSubdirectories = includeSubDirs; fsw.EnableRaisingEvents = true; Console.WriteLine("Listening for events-press <enter> to end"); Console.ReadLine(); } } private static void FswError(object sender, ErrorEventArgs e) { Console.WriteLine($"Error:{e.GetException().Message}"); } private static void FswRenamed(object sender, RenamedEventArgs e) { Console.WriteLine($"Renamed:{e.OldFullPath}->{e.FullPath}"); } private static void FileCreatedChangedDeteled(object sender, FileSystemEventArgs e) { Console.WriteLine($"File {e.FullPath} has been {e.ChangeType}"); }