本人用FileSystemWatcher类中的Created事件监听某文件下的zip文件,假如有新加入的文件就解压,但是假如该文件过大,复制进这个指定的文件夹需要很长的时间,那么程序就会报错提示:1467045934_26580f66476866bdc78a7ba926557966.zip is not a valid zip file,有没有什么办法可以让这个事件等到文件全部复制完成再进行解压的?
解决方案
10
Created 事件发生时,启动一个定时器
当定时器计时结束的事件里完成操作
当定时器计时结束的事件里完成操作
20
最简单也是最偷懒的方法,循环
try catch
直到能压缩为止
FileSystemWatcher 在监测到复制文件操作时
会顺序引发 Created Changed Changed 事件
对应 Create Open Close 操作
假如LZ的需求只是监测复制操作,可以使用这个模式进行判断
最后,可以定义一个类,在类中调用 FileSystemWatcher.WaitForChanged 方法,
自定义事件并根据条件触发
10
可以啊,这也不难