7

使用事件时是否可以在文件被删除之前访问文件FileSystemWatcher.OnDeleted

我将有关文档本身的一些数据存储在其元数据中,并且在删除之前我需要该信息。

如果可能的话,任何想法如何在有或没有FileSystemWatcher的情况下完成此任务?

更新 ://

我意识到将数据存储在文件中是不好的,因为当文件被删除时我无法访问它。

解决方案:重写我的应用程序以将数据存储在本地数据库(sqlite/xml 或类似的东西)中,因为我在创建/重命名/更新/删除文件时获得完整路径和名称,更新数据库会更容易文件的记录。

感谢大家的想法和建议!

4

2 回答 2

2

使用 FileSystemWatcher.OnDeleted 事件时,是否可以在文件被删除之前访问文件?

该事件在文件删除之后而不是之前触发,因此引发此事件时您将无法访问该文件。

如果可能的话,任何想法如何做到这一点?

我会改用该OnChanged事件,每次文件更改时都会触发该事件。基本上,每次文件更改时,您都会读取文件元数据。如果文件经常更新,这可能会有点麻烦,但应该允许您在删除文件之前拥有最新的元数据。

于 2012-05-04T22:42:56.550 回答
0
FileSystemWatcher1 = Your Main Watcher.
FileSystemWatcher2 = RecycleBin Watcher

If the FileSystemWatcher1 Deleted file == the FileSystemWatcher2 Created File
{
    //Do what you want with the FileSystemWatcher2.FullPath
}
于 2016-08-31T07:22:04.060 回答