★★★★★是微软太龌龊,还是我的方法有问题,关于FileSystemWatcher的使用,路过的高人请进来指点一二。★★★★★
我用一个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
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
...全文
相关推荐
FileSystemWatcher控件:事件触发多次的解决方法
解决了在使用FileSystemWatcher控件的Changed事件时,当文件更改时,多触发多次事件的问题
C# FileSystemWatcher 在监控文件夹和文件时的使用方法
主要介绍了C# FileSystemWatcher 在监控文件夹和文件时的使用方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以参考下
c# FileSystemWatcher控件的使用方法
c# FileSystemWatcher控件的使用方法 FileSystemWatcher 元件用來監視檔案系統,而當檔案系統所包含的目錄或檔案變更時,也可以利用它來回應。這讓您能夠在特定檔案或目錄被建立、修改或刪除時快速且容易啟動商務處理流程。
FileSystemWatcher的使用
FileSystemWatcher负责跟踪文件或文件夹/子文件夹的更新,假设我想持续监视
FileSystemWatcher 文件监控
实时监控指定目录下的文件创建、修改、删除和重命名


