繁体   English   中英

检测移动文件事件

[英]Detecting moved files events

我正在尝试开发一个用于监视特定文件夹上的操作的应用程序,包括创建,删除,修改,移动,复制和重命名。

引用FileSystemWatcher API后,我发现它不提供Move事件,而是为同一文件生成单独的Delete和Create事件。 当然,每次检测到Delete事件时,我都可以等待Create事件,并确定它是否为Move事件,但这对我来说有点奇怪,并且适当的等待时间也是一个问题。

实际上,我发现即使Dropbox进程未运行,Dropbox仍能够正确检测Move事件。 Dropbox团队的工作做得很好,我想知道他们如何使它在地球上发挥作用。

所以我的目的很明确:从其他事件中过滤Move事件并使它脱机工作(这意味着过程停止)。

好吧,从FileSystemWatcher的角度来看,移动操作基本上是“复制并删除”。 在不了解有关实现细节的情况下,我敢打赌DropBox为每个文件存储一个哈希。 如果在一个位置删除了文件,然后在另一个位置创建了具有相同哈希的文件,则该文件很可能被移动了。 您实际上可以做同样的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM