我需要创建一个Windows服务,它将监视新上传文件的目录。 文件大小约为100K到400K。
我的监控系统是否有可能会注意到一个新文件,但文件还没有完全复制完毕?即它还在流入并且EOF尚未写入?
答案 0 :(得分:5)
是的,有可能会发生这种情况。您应首先将文件上载到临时目录,然后将其移动到文件系统上存在整个文件时您正在监视的目录。
答案 1 :(得分:2)
尝试阅读第二个故事here和评论。基本上,就像比尔蜥蜴说的那样
答案 2 :(得分:0)
是肯定的。对于小文件,风险相当低,但是如果你想确定它在检查文件时检查它是否确保它的大小在一两秒钟内保持稳定。
答案 3 :(得分:0)
您使用的是FileSystemWatcher吗?我只使用过一次,但我认为您可以配置参数来告诉它您要考虑哪些事件,并为每个事件设置单独的处理程序。我怀疑在文件关闭之前,FileSystemWatcher甚至可能不会通知您文件创建,但我还没有尝试过。
注意:这是.NET解决方案。如果您不使用.NET,请忽略。