2011-09-30 87 views
1

我們知道在.NET(C#是特定的)中,我們可以使用FileSystemWatcher來檢測任何類型的修改。當我用FileSystemWatcher觀看文件時可以刪除文件嗎?

public void MessageFileWatcher(string Path, string FileName) 
     { 
      FileSystemWatcher Watcher = new FileSystemWatcher(); 
      Watcher.Path = Path; 
      Watcher.Filter = FileName; 
      Watcher.NotifyFilter = NotifyFilters.LastWrite; 
      Watcher.Changed += new FileSystemEventHandler(OnChanged); 
      Watcher.EnableRaisingEvents = true; 
     } 

但我想留在一個文件上,一段時間後也想刪除該文件。

確切地說,可以FileSystemWatcher類總是尋找修改...如果我想刪除該特定的文件,它會引發異常?

+9

試試看並找出答案? – jason

回答

2

它不會引發異常。

A FileSystemWatcher不監視文件:它監視文件系統。在這種情況下,您會發現在刪除文件時至少會出現Deleted事件。

+0

thnx的答覆......它可以幫助我很多... – kaushik

0

A FileSystemWatcher觀察具有可選過濾器的路徑,而不是單個文件。當然,如果您將過濾器設置爲文件的名稱,那麼觀察者只會觀察一個文件,但這更像是其預期用法的副作用。

這就是說,很明顯,是的,你可以刪除你正在看的文件。但是,刪除不應引起Changed事件。要監視刪除,您需要使用Deleted事件。

+0

thnx ....... 4 d澄清......我得到了我的答案.... – kaushik

相關問題