VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 933|回复: 4

急用FileSystemWatcher监控文件夹变化的问题

[复制链接]

1

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-11-10 11:30:01 | 显示全部楼层 |阅读模式
我用FileSystemWatcher监控本机的一个文件夹,当有新的文件出现时,我就把文件移动到另一个文件夹下,我用的是create事件触发的,但有时在移动文件时就会发生错误,提示说该文件正由其他进程正在使用,不知道是由什么原因引起的,有什么解决办法.

回复

使用道具 举报

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-11-10 11:45:01 | 显示全部楼层
这是由于可能用户向这个文件夹中复制文件,而复制文件的时间较长造成的!
没有比较完整的方案(个人意见)
可以设置 一个时间间隔,然后再转移!
回复

使用道具 举报

1

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-11-10 15:45:22 | 显示全部楼层
但是我往文件夹里移动文件或往里剪切文件都没有问题, 就是当往文件夹里copy文件的时候就有时出现文件被其他进程占用的问题
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-11-10 17:15:01 | 显示全部楼层
to 我用的是create事件触发的,但有时在移动文件时就会发生错误,提示说该文件正由其他进程正在使用,不知道是由什么原因引起的,有什么解决办法.

你可以用独享的方式看看是否能打开文件,如果可以的话,再进行移动。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-11-10 18:00:01 | 显示全部楼层
原因如下:

Created——当被监控的目录新建一个文件时,就提交这个事件。如果你计划用这个事件移动新建的事件,你必须在事件处理器中写入一些错误处理代码,它能处理当前文件被其它进程使用的情况。之所以要这样做,是因为Created事件可能在建立文件的进程释放文件之前就被提交。如果你没有准备正确处理这种情况的代码,就可能出现异常。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表