【发布时间】:2011-11-14 01:02:08
【问题描述】:
我有一个打开的文件,例如 .Doc 或 .txt,我必须等到用户关闭它。 根据Wait until file is unlocked in .NET,我已经尝试过了:
while (true)
{
try
{
using (FileStream Fs = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.None, 100))
{
//the file is close
break;
}
}
catch (IOException)
{
//wait and retry
Thread.Sleep(1000);
}
}
这很好用,但有可能在没有 try/catch 和处理异常的情况下找到解决方案?
【问题讨论】:
-
这是一个很好的问题。
-
很遗憾,一般来说你不能。
-
已经有一个问题 - 你甚至发布了一个链接 - 所以如果这是答案,那就是答案。不过,没有干净的方法真的太糟糕了。
-
请注意,您有 2 个问题合而为一 - “当用户完成文件时”和“当文件不再被锁定时”。第二部分与另一个问题完全相同,第一个问题不适用于所有文件类型/应用程序对(即,如果像 Visual Studion 这样的应用程序打开文件并且不锁定文件,但让用户在需要时保存)。
-
我很抱歉重复,但感谢您的评论和答案。现在我对这个概念有了更多的了解。