zoukankan      html  css  js  c++  java
  • 监控文件夹下文件变化

    using System;
    using System.Diagnostics;
    using System.IO;
    
    namespace DocumentMonitoring
    {
    
        class Program
        {
            static void Main(string[] args)
            {
                //var _watcher = new FileSystemWatcher();
                //_watcher.Path = @"\192.168.0.7public1.个人目录";
                //_watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName;
                //_watcher.Filter = "*.txt";
                //_watcher.Created += new FileSystemEventHandler((x, y) => Console.WriteLine("Created"));
                //_watcher.Error += new ErrorEventHandler((x, y) => Console.WriteLine("Error"));
                //_watcher.EnableRaisingEvents = true;
                string[] paths = { @"\192.168.0.7public1.个人目录" };
                foreach (var item in paths)
                {
                    FileListenerServer f1 = new FileListenerServer(item);
                    f1.Start();
                }
                Console.ReadKey();
            }
        }
    
        public class FileListenerServer
        {
            private FileSystemWatcher _watcher;
            public FileListenerServer()
            {
            }
            public FileListenerServer(string path)
            {
                try
                {
                    this._watcher = new FileSystemWatcher();
                    _watcher.Path = path;
                    _watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.DirectoryName;
                    _watcher.IncludeSubdirectories = true;//是否监视子目录
                    _watcher.Created += new FileSystemEventHandler(FileWatcher_Created);
                    _watcher.Changed += new FileSystemEventHandler(FileWatcher_Changed);
                    _watcher.Deleted += new FileSystemEventHandler(FileWatcher_Deleted);
                    _watcher.Renamed += new RenamedEventHandler(FileWatcher_Renamed);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error:" + ex.Message);
                }
            }
    
    
            public void Start()
            {
                this._watcher.EnableRaisingEvents = true;
                Console.WriteLine("文件监控已经启动...");
            }
    
            public void Stop()
            {
                this._watcher.EnableRaisingEvents = false;
                this._watcher.Dispose();
                this._watcher = null;
            }
    
            protected void FileWatcher_Created(object sender, FileSystemEventArgs e)
            {
                Console.WriteLine("新增:" + e.ChangeType + ";" + e.FullPath + ";" + e.Name);
    
            }
            protected void FileWatcher_Changed(object sender, FileSystemEventArgs e)
            {
                Console.WriteLine("变更:" + e.ChangeType + ";" + e.FullPath + ";" + e.Name);
            }
            protected void FileWatcher_Deleted(object sender, FileSystemEventArgs e)
            {
                Console.WriteLine("删除:" + e.ChangeType + ";" + e.FullPath + ";" + e.Name);
            }
            protected void FileWatcher_Renamed(object sender, RenamedEventArgs e)
            {
                Console.WriteLine("重命名: OldPath:{0} NewPath:{1} OldFileName{2} NewFileName:{3}", e.OldFullPath, e.FullPath, e.OldName, e.Name);
            }
        }
    }
  • 相关阅读:
    宿主机无法访问CentOS7上Jenkins服务的解决办法
    415. Add Strings
    367. Valid Perfect Square
    326. Power of Three
    258. Add Digits
    231. Power of Two
    204. Count Primes
    202. Happy Number
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/macT/p/14468608.html
Copyright © 2011-2022 走看看