程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> FileSystemWatcher監視文件變動

FileSystemWatcher監視文件變動

編輯:C#入門知識

模擬一下如何去監視指定的目錄的變動。

        1、通過Timer來間隔檢測文件夾中的變動,主要是對最後時間進行判斷。?

        2、能否基於系統提供的Api或類庫來實現監視
        顯然,對於第一種方案是很不科學,也很不好把控的。如果用timer那麼將會占用過多的資源,同時對於變動不能很明確的定位,在過深層級下的文件變動通過這種方式將很難遍歷到,即便能夠遍歷到則其中的遍歷也會增加系統的復雜度。

         然而在Net提供的類中有一個System.IO.FileSystemWatcher 通過命名就可以看出其功效——監視者。於是按照自己的思路進行Demo的編寫。
 

 

 

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.IO;
 namespace FileWatch
  {
     class Program
      {
        static void Main(string[] args)
        {
            //用於輸入需要監聽的路徑 例如 c:
            string s = Console.ReadLine();
            new FileWatchClass(s);
            Console.ReadKey();
        }
    }

    class FileWatchClass
    {
        System.IO.FileSystemWatcher FileWatcher = new FileSystemWatcher ();
        public FileWatchClass(string WatcherPath)
        {
            FileWatcher.Filter = "*.*"; //設定監聽的文件類型
            FileWatcher.Path = WatcherPath; //設定監聽的目錄
            FileWatcher.Changed += new FileSystemEventHandler(FileWatcher_Changed); //Changed 事件處理
            FileWatcher.Renamed += new RenamedEventHandler(FileWatcher_Renamed);//Renamed事件處理
            FileWatcher.Created += new FileSystemEventHandler(FileWatcher_Created);//Created事件處理
            FileWatcher.Deleted += new FileSystemEventHandler(FileWatcher_Deleted);//Deleted事件處理
            FileWatcher.IncludeSubdirectories = true;//設置監聽子目錄
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved