首页 > 代码库 > 多线程监控文件夹,FlieSystemWatcher,并使用共享函数
多线程监控文件夹,FlieSystemWatcher,并使用共享函数
发表于: 2011-01-06 09:55:47
C# code ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.IO; using System.Collections; namespace Thread_FileSystemWatcher { class Program { private static Thread[] threads; private static string [] pPath; static void Main( string [] args) { threadsPEIZHI(); while (Console.Read() != ‘q‘ ) ; } static void threadsPEIZHI() { try { pPath = new string [2]; pPath[0] = "c:\\" ; pPath[1] = "e:\\" ; threads = new Thread[pPath.Length]; for ( int i = 0; i <= threads.Length-1; i++) { threads[i] = new Thread(Run); threads[i].Name = pPath[i]; threads[i].Start(); Console.WriteLine(threads[i].Name); } } catch (Exception Ex) { Console.WriteLine(Ex.Message); } } static void Run() { Run(Thread.CurrentThread.Name); } static void Run( string pPath) { FileSystemWatcher fsw = new FileSystemWatcher(pPath); fsw.Filter = "*.*" ; //监控所有类型,包括子文件夹 fsw.NotifyFilter = NotifyFilters.DirectoryName | NotifyFilters.LastAccess | NotifyFilters.LastWrite; fsw.Changed += new FileSystemEventHandler(OnChanged); fsw.Created += new FileSystemEventHandler(OnCreated); fsw.Deleted += new FileSystemEventHandler(OnDeleted); fsw.Renamed += new RenamedEventHandler(OnRenamed); fsw.EnableRaisingEvents = true ; //开启监控 } static void OnChanged( object source,FileSystemEventArgs e) { Console.WriteLine( "File: " + e.FullPath + " " + e.ChangeType); } static void OnCreated( object source,FileSystemEventArgs e) { Console.WriteLine( "File: " + e.FullPath + " " + e.ChangeType); } static void OnDeleted( object source,FileSystemEventArgs e) { Console.WriteLine( "File: " + e.FullPath + " " + e.ChangeType); } static void OnRenamed( object source, RenamedEventArgs e) { Console.WriteLine( "File: {0} renamed to {1}" , e.OldFullPath, e.FullPath); } } } |
请指教!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。