当前位置:  开发笔记 > 程序员 > 正文

监控文件 - 如何知道文件何时完成

如何解决《监控文件-如何知道文件何时完成》经验,为你挑选了1个好方法。

我们有几个.NET应用程序使用FileSystemWatcher监视新文件的目录.文件从其他位置复制,通过FTP上传等.当它们进入时,文件将以这种或那种方式处理.但是,我从未见过一个令人满意的答案的一个问题是:对于大文件,如何知道被监视的文件何时仍被写入?显然,我们需要等到文件完成并关闭才开始处理它们.FileSystemWatcher事件中的事件args似乎没有解决这个问题.



1> Ryan Ahearn..:

如果您可以控制将文件写入目录的程序,则可以让程序将文件写入临时目录,然后将其移动到监视目录中.移动应该是一个原子操作,因此观察者不应该看到该文件,直到它完全在目录中.

如果您无法控制写入监视目录的内容,则可以在观察程序中设置一个时间,该文件在给定时间内保持相同大小时将被视为已完成.如果不关心立即处理,将此计时器设置为相对较大的是一种相当安全的方式来知道文件是完整的还是永远不会.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有