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、做文件夹文件变化监测,并记录变化文件列表

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值