【发布时间】:2011-03-07 10:15:11
【问题描述】:
我正在编写一个 Windows 服务来处理由另一个我无法控制的进程创建的文件。这些文件可能非常大(数百兆字节)。
我需要在创建文件后处理并删除它们。
所有文件都将写入特定目录(据我所知,仅通过直接文件副本),因此我可以定期迭代该目录中的文件,处理它们然后删除它们。
我担心的是,如果我的服务在写入大文件期间查询目录会发生什么?该文件会显示给我的服务吗?它会被锁定以使我无法获得读取权限吗?我是否需要做任何特别的事情来检查文件是否已完成复制,或者我可以只查询File.Exists() 或尝试使用FileAccess.Read 打开它。 Windows 如何标记正在复制的文件?
【问题讨论】: