LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#使用FileSystemWatcher控件實現的文件監控功能示例

admin
2023年12月26日 23:30 本文熱度 820

本文實例講述了C#使用FileSystemWatcher控件實現的文件監控功能。分享給大家供大家參考,具體如下:

FileSystemWatcher

可以使用FileSystemWatcher組件監視文件系統,并對文件系統的改變作出反應。通過使用FileSystemWatcher組件,在特定的文件或目錄被創建、修改或刪除時,可以快速和便捷地啟動業務流程。

例如,如果一組用戶在合作處理一個存儲在服務器共享目錄下的文檔時,可以使用FileSystemWatcher組件編寫應用程序來監視對共享目錄的更改情況。當檢測到更改時,該組件可以運行處理過程,通過電子郵件通知每個用戶。

可以配置組件來監視整個目錄及其內容,或特定目錄下一個特定的文件或一組文件。若要監視所有文件中的更改,應將Filter屬性設置為空字符串("");若要監視特定的文件,應將Filter屬性設置為該文件的文件名(例如,若要監視文件MyDoc.txt中的更改,將Filter屬性設置為"MyDoc.txt");也可以監視特定文件類型中的更改,例如若要監視文本文件中的更改,將Fillter屬性設置為"*.txt"。

【提示】不要忽略隱藏文件。

可監視目錄或文件中的若干種更改。例如,可監視文件或目錄的Attributes、LastWrite的日期和時間或Size的更改。通過將FileSystemWatcher.NotifyFilter屬性設置為NotifyFilters中的某個值,就可以實現這個目標。

還可以監視文件或目錄的重命名、刪除或創建。例如,若要監視文本文件的重命名,可將Filter屬性設置為"*.txt",并調用一個WaitForChanged方法,并設置該方法中WatcherChangeTypes的值為Renamed。

下面舉例說明。創建一個FileSystemWatche組件來監視運行時指定的目錄。組件被設置用來監視LastWrite和LastAccess時間的更改,以及目錄中文本文件的創建、刪除或重命名。如果文件被更改、創建或刪除,則文件的路徑就會被輸出到控制臺。當一個文件被重命名時,舊的和新的路徑都被輸出到控制臺。

實例 

使用FileSystemWatche組件來監視運行時指定的目錄:

using System;

using System.IO;

public class watcher

{

  public static void Main(string[] args)

  {

    //如果沒有指定目錄,則退出程序

    if(args.Length!=1)

    {

      //顯示調用程序的正確方法

      Console.WriteLine("usage:Watcher.exe(directory)");

      return;

    }

    //創建一個新的FileSystemWatcher并設置其屬性

    FileSystemWatcher watcher=new FileSystemWatcher();

    watcher.Path=args[O];

    /*監視LastAcceSS和LastWrite時間的更改以及文件或目錄的重命名*/

    watcher.NotifyFilter=NotifyFilters.LastAccess | NotifyFilters.LastWrite |

           NotifyFilters.FileName | NotifyFilters.DirectoryName;

    //只監視文本文件

    watcher.Filter="*.txt";

    //添加事件句柄

    //當由FileSystemWatcher所指定的路徑中的文件或目錄的

    //大小、系統屬性、最后寫時間、最后訪問時間或安全權限

    //發生更改時,更改事件就會發生

    watcher.Changed +=new FileSystemEventHandler(OnChanged);

    //由FileSystemWatcher所指定的路徑中文件或目錄被創建時,創建事件就會發生

    watcher.Created +=new FileSystemEventHandler(OnChanged);

    //當由FileSystemWatcher所指定的路徑中文件或目錄被刪除時,刪除事件就會發生

    watcher.Deleted +=new FileSystemEventHandler(OnChanged) ;

    //當由FileSystemWatcher所指定的路徑中文件或目錄被重命名時,重命名事件就會發生

    watcher.Renamed +=new RenamedEventHandler(OnRenamed);

    //開始監視

    watcher.EnableRaisingEvents=true;

    //等待用戶退出程序

    Console.WriteLine("Press\'q\' to quit the sample.");

    while(Console.Read()!='q');

  }

  //定義事件處理程序

  public static void OnChanged(object sender,FileSystemEventArgs e)

  {

    //指定當文件被更改、創建或刪除時要做的事

    Console.WriteLine("file:"+e.FullPath+""+e.ChangeType);

  }

  public static void OnRenamed(object sender,RenamedEventArgs e)

  {

    //指定當文件被重命名時發生的動作

    Console.WriteLine("Fi]e:{0} renamed to{1}",e.OldFullPath,e.FullPath);

  }

}


該文章在 2023/12/26 23:32:15 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲免费精品视频在线一区二区 | 亚洲无遮挡免费在线观看 | 日韩亚洲人成网站在线观看 | 亚洲AV日韩AV天堂久久 | 亚洲天堂中文字幕第一页 | 亚洲成国产人片在线观看88 |