如何等待文件一定时间

时间:2017-11-01 07:30:58

标签: c# .net

如何等待文件90秒,如果它在90秒内没有创建,我们应该超时并退出该函数。如果它在90秒内创建它应该返回为真

我做了以下代码失败

private bool Wait(string filePath, int maxSecs, ref string errDesc)
    {
        System.DateTime timeNow = System.DateTime.Now;
        bool timeOut = false;
        try
        {
            System.Threading.Thread.Sleep(2000);

            if (System.IO.File.Exists(filePath))
                return true;
            System.DateTime currentdatetime = System.DateTime.Now;
            TimeSpan diff = currentdatetime - timeNow;
            //timeOut = Math.Abs(DateDiff(DateInterval.Second, timeNow, System.DateTime.Now)) >= maxSecs;

            if (timeOut)
            {
                errDesc = "File creation failed";
                return false;
            }
            System.Threading.Thread.Sleep(2000);
        }
        catch (Exception ex)
        {
            errDesc = ex.Message;
        }
        return timeOut;
    }

2 个答案:

答案 0 :(得分:1)

你可以做一个for循环等待2秒45次。如果在此期间内创建了文件,则从循环内部返回“true”。在循环之后你放了一个“return false”。没有错误捕捉需要imo。

答案 1 :(得分:1)

试试这个:

...
TimeSpan diff = currentdatetime - timeNow;
timeOut = diff.Seconds > maxSecs;

if (timeOut) 
...