2011-09-30 84 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

相关问题