我在我的应用程序中遇到了这个问题:
现在的情况是,在第三方程序读入文件之前,该文件已被删除。有没有一种方法可以检查文件是否不再使用,或者制定一种稳定的等待方式?
我已经找到了使用
- 第一步 - 创建一个文件(xml)并将一些内容放入其中
- 第二步 - 第三方应用程序将打开该文件并获取在第一步制作的文件中的信息。
- 第三步 - 再次删除该文件。
XmlDocument xmlDoc = new XmlDocument();
DataSet ds = //use a method to put in the data
xmlDoc.LoadXml(ds.GetXml());
xmlDoc.Save("Filename");
// ...
Process.Start(startInfo);
我的假设是正确的吗?即只有在上面的操作完成后,最后一行才会执行?所以我可以百分之百确定数据已经全部在xml中,然后再尝试启动它,对吗?
现在我遇到错误的第二部分在这里:
Process.Start(startInfo);
File.Delete("Filename");
现在的情况是,在第三方程序读入文件之前,该文件已被删除。有没有一种方法可以检查文件是否不再使用,或者制定一种稳定的等待方式?
我已经找到了使用
Thread.Sleep(TimeInMiliSec);
的方法,但我想这不是正确的做法(更像是一种解决方法)?
while
循环后的最后一行才会执行。 - dknaack