日期:2014-05-18 浏览次数:20988 次
  //当发现有文件创建时候,判断是否文件存在,以及文件是否已经完全写入完毕
        private static void BeforeDoWork(string path)
        {
            FileInfo fi = new FileInfo(path);
            string msg = string.Empty;
            //判断文件是否存在(因为可能是文件夹或者别的什么异常)
            if (!fi.Exists)
            {
                msg += path + " 文件不存在或者不是文件"+DateTime.Now;
                lock (_locker)
                {
                    writeInLog(msg);
                }
                SendMessage(msg);
                return;
            }
            //这里采用IO冲突的方式去判断是否写入完毕
          Again:  try
            {
                fi.OpenRead();
            }
            catch (IOException ex)
            {
                Thread.Sleep(500);
                goto Again;
            }
        }