首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用FileSystemWatcher检测移动的文件

使用FileSystemWatcher检测移动的文件
EN

Stack Overflow用户
提问于 2009-08-17 04:10:01
回答 3查看 17.8K关注 0票数 23

我意识到FileSystemWatcher没有提供移动事件,相反,它将为同一文件生成单独的删除和创建事件。( FilesystemWatcher同时监视源文件夹和目标文件夹)。

然而,我们如何区分真正的文件移动和某个随机创建的文件,该文件恰好与最近删除的文件同名?

FileSystemEventArgs类的某种属性,如"AssociatedDeleteFile“,如果是移动的结果,则分配给删除的文件路径,否则为NULL,这将是很好的。但这当然不存在。

我还了解到FileSystemWatcher是在基本文件系统级别操作的,因此“移动”的概念可能只对更高级别的应用程序有意义。但如果是这种情况,人们会推荐哪种算法来处理我的应用程序中的这种情况?

根据反馈进行更新:

FileSystemWatcher类似乎将移动文件看作是两个不同的事件,一个是删除原始文件,然后是在新位置创建。

不幸的是,在这些事件之间没有提供“链接”,因此如何区分文件移动和正常的删除或创建并不明显。在操作系统级别,一次移动是特殊处理的,你几乎可以瞬间移动一个1 1GB的文件。

有几个答案建议对文件使用散列,以便在事件之间可靠地识别它们,我将明确地采用这种方法。但是,如果有人知道如何更简单地检测移动,请留下答案。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1286114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档