【发布时间】:2009-04-17 15:03:10
【问题描述】:
有两个应用程序。 第一个应用程序对有问题的机器是远程的(我没有访问它)并通过网络(LAN)创建一个大文件。我无法控制这个过程,也不知道它何时发生。这就是我必须解决的问题。我无法以任何方式添加、更改或更改它。
第二个应用程序是我编写的,并在找到该文件时对其进行处理。此应用计划每 5 分钟运行一次。
当我的应用程序尝试处理文件时,可能会出现正在写入文件的情况,从而导致处理不完整和/或其他错误,因此我需要在开始之前检测文件是否已完全写入处理它。
我可以使用 OpenFile() 并请求读/写锁定访问。错误将表明正在创建文件。
我可以用文件系统观察器做一些聪明的事情 http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx
但我怀疑有一种我没有想到的优雅方式用于 Windows(NT 和更高版本)
【问题讨论】: