我已经设法使用FileSystemWatcher查看文件和文件夹更改。C#文件/文件夹监视器
我的问题是我无法区分文件和文件夹。文件和文件夹可能具有相同的路径名称。
对于删除事件,我甚至不能在测试File.Exists(path)或Directory.Exists(path)时使用脏的workarround,因为调用该方法时文件/文件夹已被删除。
也许这个对象有我需要的信息,但我没发现它:
FileSystemEventArgs e
我只是想知道,如果改变的项目是一个文件或文件夹。
唯一的问题是FSW使用ThreadPool,所以如果你使用多个观察者,那么你将处理的事件的顺序可能不会反映现实。到目前为止我发现的唯一解决方案是使用ho1提到的Change Journals,或者使用[this]编写自己的FileSystemWatcher(http://qualapps.blogspot.cz/2010/05/understanding-readdirectorychangesw.html )和[this](http://qualapps.blogspot.cz/2010/05/understanding-readdirectorychangesw_19.html)。只要将它扔到那里,任何人谁将来会通过这个线程。 – Paya 2012-09-23 00:49:55