【C#】自动文件采集器并进行持久化

先上图,看下运行效果:

【C#】自动文件采集器并进行持久化_第1张图片

本采集软件目前已完成,支持的功能有:实时展示计算机系统资源信息和实现进程的关闭、自动完成目录的监控并对监控目录支持过滤功能。支持动态加载库功能,可以兼容不同的需求,如解析或者将监控的数据持久化到文件、数据库、发送消息提醒等操作。

实现的步骤:

1、添加界面控件,并完成列表框设置,将列表框DrawMode属性设置为:OwnerDrawFixed

2、对列表框DrawItem方法进行重写。使输出内容可以显示不同的颜色

3、添加一个fileSystemWatcher控件,代码参考如下:

  private void fileSystemWatcher_Created(object sender, System.IO.FileSystemEventArgs e)
        {
            if (WatchDirExculde(e.FullPath))
                return;
            AddLog(LogType.Created, e.FullPath);
        }

        private void fileSystemWatcher_Changed(object sender, System.IO.FileSystemEventArgs e)
        {
            if (WatchDirExculde(e.FullPath))
                return;
            AddLog(LogType.Changed, e.FullPath);
            //开始处理文件
            {
                //Thread.Sleep(500);
                try
                    {
                        TorqueGunInfo tg = new TorqueGunInfo();
                        tg.execute(e.FullPath);
                    }
                    catch (Exception ex)
                    {
                        CLogHelper.Logger.Singleton.Error(ex.Message);
                        AddLog(LogType.Exception, "处理文件失败:" + ex.Message + e.FullPath);
                    }
            }
        }

        private void fileSystemWatcher_Deleted(object sender, System.IO.FileSystemEventArgs e)
        {
            if (WatchDirExculde(e.FullPath))
                return;
            AddLog(LogType.Deleted, e.FullPath);
        }

        private void fileSystemWatcher_Renamed(object sender, System.IO.RenamedEventArgs e)
        {
            if (WatchDirExculde(e.FullPath))
                return;
            AddLog(LogType.Renamed, e.FullPath);
        }

4 添加开始监控按钮事件,按钮事件代码如下:

   if (this.btStop.Text == "开始监控")
   {
        CLogHelper.Logger.Singleton.InfoFormat("开始监控目录为:{0}", path);
        this.btStop.Text = "停止监控";
        this.btStop.BackColor = Color.Red;
        fileSystemWatcher.Path = path;
        fileSystemWatcher.EnableRaisingEvents = true;
   }

5 业务处理代码。这个根据具体业务而定

6 应用场景:

6.1    目录监控和数据处理

6.2    网站、服务器文件变动监控与提醒

6.3   文件及数据持久化

你可能感兴趣的:(C#,编程,c#,开发语言)