zoukankan      html  css  js  c++  java
  • C# FileSystemWatcher

     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}");
            }
  • 相关阅读:
    写在最顶部
    新一轮的战斗。
    Codeforces Round #180
    git学习笔记
    感悟、方向、计划
    .NET (c#)序列化和反序列化
    类的序列化发送和接受
    Log4Net: TextBoxBaseAppender
    任何成功不能只靠自己一个人
    技术问题,总是在短期被高估,在长期被低估
  • 原文地址:https://www.cnblogs.com/Fred1987/p/13068304.html
Copyright © 2011-2022 走看看