gpt4 book ai didi

c# - 如何等待文件完全复制?

转载 作者:太空狗 更新时间:2023-10-29 23:42:09 27 4
gpt4 key购买 nike

我有一个线程可以轮询文件夹中的新文件。问题是它看到一个新文件并开始处理它,甚至在该文件被另一个进程完全复制之前。因此,轮询器获取文件被另一个进程错误使用。

有没有办法检查文件是否可以免费使用或得到通知?我们当然可以使用异常处理代码,但是有没有更好的方法呢?

技术:.NET 2.0/C#

更新:

  • 从其他答案中发现,如果我们可以访问写入文件的应用程序,那么更好的设计是从其他扩展名 .tmp 开始,然后在复制后重命名。

  • 如果我们不控制源应用程序,则可以使用 FileStream.Lock

最佳答案

我们尝试在处理文件之前锁定文件,并在尝试读取文件期间处理 IOException 而不是一般异常。

参见 FileStream.Lock在 MSDN 上。

关于c# - 如何等待文件完全复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3632960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com