c#,timer监测文件夹文件变化,按时间差查看文件变化列表

private void timerFilesName_Tick(object sender, EventArgs e)
            {
                List<string> listSubtraction = new List<string> { };

                List<string> list1 = new List<string> { };
                list1 = GetFilesName(dirInfo);
                listSubtraction = list1.Except(tempFilesName).ToList();
                if (listSubtraction.Count>0)
                {
                    //-----------这里写导入处理
                    //1、按照文件名起日志文件,避免多进程写一个日志文件报错
                    //2、每个xml文件导入时生成一个日志文件
                    //3、每隔10分钟启动一下时钟
                    for (int i = 0; i < listSubtraction.Count; i++)
                    {
                        importProcess objImportProcess = new importProcess(businessType[i].ToString());
                        ThreadStart startImport = new ThreadStart(objImportProcess.excuteImport);
                        Thread thredImport = new Thread(startImport);
                        thredImport.Start();
                    }
                }
                tempFilesName.Clear();
                for (int i = 0; i < fileNames.Count; i++)
                {
                    tempFilesName.Add(fileNames[i]); //这里你是把同一个对象重复的加入到一个列表
                }
                Console.WriteLine();
            }
            //文件名列表
            List<string> fileNames = new List<string> { };

            public  List<string> GetFilesName(System.IO.DirectoryInfo dirInfo)
            {
                fileNames.Clear();
                foreach (FileInfo file in dirInfo.GetFiles("*.xml"))
                {
                    fileNames.Add(file.FullName);
                }
                foreach (System.IO.DirectoryInfo subdir in dirInfo.GetDirectories())
                {
                    GetFilesName(subdir);
                }
                return fileNames;
            }

1、关键代码listSubtraction = list1.Except(tempFilesName).ToList();
except 做差集运算
2、时钟每10分钟启动一次
3、listSubtraction 存放10分钟前和现在的文件列表差异
4、做文件夹文件变化监测,并记录变化文件列表

发布了85 篇原创文章 · 获赞 7 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/guoruijun_2012_4/article/details/101197659
今日推荐