我有一个文件夹,通过文件模拟器连续创建日志文件。完成每个文件的创建后,后台Windows服务即FolderWatcher
,应将每个文件复制到中央Windows服务器。
我使用File.Copy()
将文件从一台机器传输到另一台机器。问题是我的后台Windows服务无法知道要复制的文件是否仍在使用中。
有没有办法知道该文件仍在使用中?我知道如果我们尝试打开正在使用的文件,它将抛出异常。
答案 0 :(得分:2)
抓住异常并将文件放入文件列表中,然后再次尝试'在以后的时间。
答案 1 :(得分:0)
我会先检查文件是否正在使用,如果是,请将其添加到定期检查的队列中,并在文件空闲时移动该文件。
请参阅this stackoverflow question以确定如何查看文件是否已打开。