★★★★★是微软太龌龊,还是我的方法有问题,关于FileSystemWatcher的使用,路过的高人请进来指点一二。★★★★★

linuxyf linuxyf 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用一个FileSystemWatcher监视一个文件夹。监控文件内容何时发生改变,NotifyFilter属性设置如下:

watcher.NotifyFilter = watcher.NotifyFilter | NotifyFilters.FileName | NotifyFilters.LastWrite | NotifyFilters.DirectoryName ;

监视Created,Deleted,Renamed和Changed事件,对于大部分的文件类型,监视是正确的,但是对于一个visio文件,如果我在坚实的文件夹下面打开一个visio文件,编辑后执行 另存为 操作,尽然监视不到Renamed的信息。

监视文件夹为D:\TEST2, 把文件绘图4.vsd另存为绘图44.vsd,事件序列如下:

2009-05-05 09:25:40 CREATED D:\TEST2\~$$绘图4.~vsd //创建临时文件
2009-05-05 09:25:40 CHANGED D:\TEST1\~$$绘图4.~vsd //改变临时文件内容
2009-05-05 09:25:51 CREATED D:\TEST2\绘图44.vsd //创建另存的文件
2009-05-05 09:25:51 DELETED D:\TEST2\绘图44.vsd //紧接着又删掉了
2009-05-05 09:25:51 CREATED D:\TEST2\VS09AC.tmp //创建临时文件
2009-05-05 09:25:51 DELETED D:\TEST2\VS09AC.tmp //删除临时文件
2009-05-05 09:25:51 CREATED D:\TEST2\绘图44.vsd //创建另存的文件
2009-05-05 09:25:51 CHANGED D:\TEST1\绘图44.vsd //改变文件内容
2009-05-05 09:26:02 CHANGED D:\TEST1\绘图44.vsd //改变文件内容,以下又都是针对一个临时文件的操作,但再没有对另存为的文件进行操作,在本时
刻09:26:02,我把 绘图44.vsd 复制出来,和最终的文件内容不一致,根本打不开,下面又根本
未监视到针对绘图44.vsd文件操作,这是为什么啊???
2009-05-05 09:26:05 DELETED D:\TEST2\~$$绘图4.~vsd
2009-05-05 09:26:05 CREATED D:\TEST2\~$$绘图44.~vsd
2009-05-05 09:26:05 CHANGED D:\TEST1\~$$绘图44.~vsd
2009-05-05 09:26:09 DELETED D:\TEST2\~$$绘图44.~vsd


...全文

相关推荐

评论 14
收藏 已收藏
分享
返回顶部
linuxyf
C# 111,128 成员 642,536 内容