對于一個文件夾的改變,C#這邊有自己的類來實現,我們不需要關心它的內部實現機制,不需要關心它底層調用哪些API,我們只需要關心如何去調用它,如何讓它幫助我們記錄文件夾的修改情況即可。
#region 監視文件夾的變化 FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = "f://"; watcher.NotifyFilter =//被監控的方面 NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; // 訂閱一些事件,當它被觸發時(.net(windows)底層觸發它,我們不用管),執行我們的方法 watcher.Changed += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已經被修改,修改類型{1}", e.FullPath, e.ChangeType.ToString()); }; watcher.Created += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}被建立", e.FullPath); }; watcher.Deleted += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已經被刪除", e.FullPath); }; watcher.Renamed += (object source, RenamedEventArgs e) => { Console.WriteLine("文件{0}的名稱已經從{1}變成了{2}", e.OldFullPath, e.OldName, e.Name); }; // 為true表示開啟FileSystemWatcher組件,反之我們的監控將不啟作用 watcher.EnableRaisingEvents = true; #endregion另外,告訴大家一個 xor異或運算的使用技巧,就是它可以在不引入第三個變量的情況下,交替兩個變量的值,你的變量可以是數值,也可以是字符,如果是字符,我們需要使用它的hashcode值進行xor運算。
#region xor兩個變量交換 int a = 2; int b = 3; Console.WriteLine("a={0}", a); Console.WriteLine("b={0}", b); a = a ^ b ^ (b = a); Console.WriteLine("a={0}", a); Console.WriteLine("b={0}", b); #endregion結果如圖:
|
新聞熱點
疑難解答