青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

君子性非異也,善假于物也。

如有恒,何須三更起,半夜眠;最怕莫,三天打魚兩天曬網,竹籃打水一場空!
posts - 31, comments - 23, trackbacks - 0, articles - 30
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

文件系統監控

Posted on 2006-10-15 13:37 neter 閱讀(1613) 評論(0)  編輯 收藏 引用 所屬分類: 程序設計
NET Framework 類庫?
FileSystemWatcher 類?

偵聽文件系統更改通知,并在目錄或目錄中的文件發生更改時引發事件。

命名空間:System.IO
程序集:System(在 system.dll 中)

繼承層次結構

C# 用法:

1
public?class?FileSystemWatcher?:?Component,?ISupportInitialize

使用 FileSystemWatcher 監視指定目錄中的更改。可監視指定目錄中的文件或子目錄的更改。可以創建一個組件來監視本地計算機、網絡驅動器或遠程計算機上的文件。

若要通過文件擴展名監視所有文件中的更改,請將 Filter 屬性設置為空字符串 ("") 或使用通配符(“*.*”)。若要監視特定的文件,請將 Filter 屬性設置為該文件名。例如,若要監視文件 MyDoc.txt 中的更改,請將 Filter 屬性設置為“MyDoc.txt”。也可以監視特定類型文件中的更改。例如,若要監視文本文件中的更改,請將 Filter 屬性設置為“*.txt”。

可監視目錄或文件中的若干種更改。例如,可監視文件或目錄的 AttributesLastWrite 日期和時間或 Size 方面的更改。通過將 NotifyFilter 屬性設置為 NotifyFilters 值之一來達到此目的。有關可監視的更改類型的更多信息,請參見 NotifyFilters

可監視文件或目錄的重命名、刪除或創建。例如,若要監視文本文件的重命名,請將 Filter 屬性設置為“*.txt”,并使用為其參數指定的 Renamed 來調用 WaitForChanged 方法。

Windows 操作系統在 FileSystemWatcher 創建的緩沖區中通知組件文件發生更改。如果短時間內有很多更改,則緩沖區可能會溢出。這將導致組件失去對目錄更改的跟蹤,并且它將只提供一般性通知。使用 InternalBufferSize 屬性來增加緩沖區大小的開銷較大,因為它來自無法換出到磁盤的非頁面內存,所以應確保緩沖區大小適中(盡量小,但也要有足夠大小以便不會丟失任何文件更改事件)。若要避免緩沖區溢出,請使用 NotifyFilterIncludeSubdirectories 屬性,以便可以篩選掉不想要的更改通知。

有關 FileSystemWatcher 的實例的初始屬性值列表,請參見 FileSystemWatcher 構造函數。

使用 FileSystemWatcher 類時,請注意以下事項。

  • 不忽略隱藏文件。

  • 在某些系統中,FileSystemWatcher 使用 8.3 短文件名格式報告文件更改。例如,對“LongFileName.LongExtension”的更改可能報告為“LongFi~.Lon”。

  • 此類在應用于所有成員的類級別上包含一個鏈接要求和一個繼承要求。如果直接調用方或派生類不具有完全信任權限,則會引發 SecurityException。有關安全要求的詳細信息,請參見 鏈接要求

復制和移動文件夾

操作系統和 FileSystemWatcher 對象將剪切和粘貼操作或移動操作解釋為對文件夾及其內容的重命名操作。如果將包含文件的文件夾剪切并粘貼到受監視的文件夾中,則 FileSystemWatcher 對象僅將文件夾報告為新建,但不能將其內容報告為新建,因為實際上只是對它們進行了重命名。

若要接收已將文件夾內容移動或復制到受監視的文件夾中的通知,請根據下表中的建議提供 OnChangedOnRenamed 事件處理程序方法。

?

事件處理程序

已處理的事件

執行

OnChanged

Changed, Created, Deleted

報告文件屬性的更改、創建的文件和刪除的文件。

OnRenamed

Renamed

列出重命名的文件和文件夾的新舊路徑,需要時可以遞歸擴展。

事件和緩沖區大小

請注意,有幾個因素可能影響引發哪些文件系統更改事件,如下所述:

  • 公共文件系統操作可能會引發多個事件。例如,將文件從一個目錄移到另一個目錄時,可能會引發若干 OnChanged 以及一些 OnCreatedOnDeleted 事件。移動文件是一個包含多個簡單操作的復雜操作,因此會引發多個事件。同樣,有些應用程序(例如,防病毒軟件)可能會導致可由 FileSystemWatcher 檢測到的其他文件系統事件。

  • 只要磁盤沒有切換或移除,FileSystemWatcher 就可監視它們。因為 CD 和 DVD 的時間戳和屬性不能更改,所以 FileSystemWatcher 不為 CD 和 DVD 引發事件。要使該組件正常運行,遠程計算機必須具有所需的這些平臺之一。但是,無法從 Windows NT 4.0 計算機監視遠程 Windows NT 4.0 計算機。

  • 在 Windows XP(Service Pack 1 之前版本)或者 Windows 2000 SP2 或更低版本中,如果多個 FileSystemWatcher 對象正在監視同一個 UNC 路徑,則只有其中一個對象會引發事件。在運行 Windows XP SP1 及之后版本、Windows 2000 SP3 或之后版本或者 Windows Server 2003 的計算機上,所有 FileSystemWatcher 對象都將引發相應的事件。

  • 設置 Filter 不會減少進入緩沖區中的內容。

請注意,由于 Windows 操作系統的依賴項,當丟失某個事件或超出緩沖區大小時,FileSystemWatcher 不會引發 Error 事件。若要防止丟失事件,請遵從這些準則:

  • 使用 InternalBufferSize 屬性增加緩沖區大小可以防止丟失文件系統更改事件。

  • 避免監視帶有長文件名的文件。考慮使用較短的名稱進行重命名。

  • 盡可能使事件處理代碼短小。

FileSystemWatcher 成員

公共構造函數公共構造函數

?名稱 說明
Public methodFileSystemWatcher已重載。初始化 FileSystemWatcher 類的新實例。
公共屬性公共屬性
?名稱 說明
Public propertyContainer? 獲取 IContainer,它包含 Component。(從 Component 繼承。)
Public propertyEnableRaisingEvents獲取或設置一個值,該值指示是否啟用此組件。
Public propertyFilter獲取或設置篩選字符串,用于確定在目錄中監視哪些文件。
Public propertyIncludeSubdirectories獲取或設置一個值,該值指示是否監視指定路徑中的子目錄。
Public propertyInternalBufferSize獲取或設置內部緩沖區的大小。
Public propertyNotifyFilter獲取或設置要監視的更改類型。
Public propertyPath獲取或設置要監視的目錄的路徑。
Public propertySite已重寫。獲取或設置 FileSystemWatcherISite
Public propertySynchronizingObject獲取或設置一個對象,該對象用于封送因目錄更改而發出的事件處理程序調用。
受保護的屬性受保護的屬性
?名稱 說明
Protected propertyCanRaiseEvents? 獲取一個指示組件是否可以引發事件的值。(從 Component 繼承。)
Protected propertyDesignMode? 獲取一個值,用以指示 Component 當前是否處于設計模式。(從 Component 繼承。)
Protected propertyEvents? 獲取附加到此 Component 的事件處理程序的列表。(從 Component 繼承。)
公共方法公共方法
?名稱 說明
Public methodBeginInit開始初始化在窗體上使用或由另一個組件使用的 FileSystemWatcher。初始化發生在運行時。
Public methodCreateObjRef? 創建一個對象,該對象包含生成用于與遠程對象進行通信的代理所需的全部相關信息。 (從 MarshalByRefObject 繼承。)
Public methodDispose已重載。 釋放由 FileSystemWatcher 占用的資源。
Public methodEndInit結束在窗體上使用或由另一個組件使用的 FileSystemWatcher 的初始化。初始化發生在運行時。
Public methodEquals? 已重載。 確定兩個 Object 實例是否相等。 (從 Object 繼承。)
Public methodGetHashCode? 用作特定類型的哈希函數。GetHashCode 適合在哈希算法和數據結構(如哈希表)中使用。 (從 Object 繼承。)
Public methodGetLifetimeService? 檢索控制此實例的生存期策略的當前生存期服務對象。 (從 MarshalByRefObject 繼承。)
Public methodGetType? 獲取當前實例的 Type。 (從 Object 繼承。)
Public methodInitializeLifetimeService? 獲取控制此實例的生存期策略的生存期服務對象。 (從 MarshalByRefObject 繼承。)
Public methodStaticReferenceEquals? 確定指定的 Object 實例是否是相同的實例。 (從 Object 繼承。)
Public methodToString? 返回包含 Component 的名稱的 String(如果有)。不應重寫此方法。 (從 Component 繼承。)
Public methodWaitForChanged已重載。 返回結構的同步方法,該結構包含有關已發生的更改的特定信息。
受保護的方法受保護的方法
?名稱 說明
Protected methodDispose已重載。 已重寫。 釋放由 FileSystemWatcher 占用的資源。
Protected methodFinalize? 在通過垃圾回收將 Component 回收之前,釋放非托管資源并執行其他清理操作。 (從 Component 繼承。)
Protected methodGetService? 返回一個對象,該對象表示由 Component 或它的 Container 提供的服務。 (從 Component 繼承。)
Protected methodMemberwiseClone? 已重載。 (從 MarshalByRefObject 繼承。)
Protected methodOnChanged引發 Changed 事件。
Protected methodOnCreated引發 Created 事件。
Protected methodOnDeleted引發 Deleted 事件。
Protected methodOnError引發 Error 事件。
Protected methodOnRenamed引發 Renamed 事件。
公共事件公共事件
?名稱 說明
Public eventChanged當更改指定 Path 中的文件和目錄時發生。
Public eventCreated當在指定 Path 中創建文件和目錄時發生。
Public eventDeleted刪除指定 Path 中的文件或目錄時發生。
Public eventDisposed? 添加事件處理程序以偵聽組件上的 Disposed 事件。(從 Component 繼承。)
Public eventError當內部緩沖區溢出時發生。
Public eventRenamed重命名指定 Path 中的文件或目錄時發生。


下面的示例創建一個 FileSystemWatcher,以便在運行時監視指定的目錄。組件設置為監視 LastWriteLastAccess 時間方面的更改,以及目錄中文本文件的創建、刪除或重命名。如果更改、創建或刪除文件,文件路徑將被輸出到控制臺。在文件重命名后,舊路徑和新路徑都輸出到控制臺。

在此示例中使用 System.DiagnosticsSystem.IO 命名空間。

C# 事例:

?1
public?class?Watcher
?2{
?3
?4????public?static?void?Main()
?5????{
?6????Run();
?7
?8????}

?9
10????[PermissionSet(SecurityAction.Demand,?Name="FullTrust")]
11????public?static?void?Run()
12????{
13????????string[]?args?=?System.Environment.GetCommandLineArgs();
14?
15????????//?If?a?directory?is?not?specified,?exit?program.
16????????if(args.Length?!=?2)
17????????{
18????????????//?Display?the?proper?way?to?call?the?program.
19????????????Console.WriteLine("Usage:?Watcher.exe?(directory)");
20????????????return;
21????????}

22
23????????//?Create?a?new?FileSystemWatcher?and?set?its?properties.
24????????FileSystemWatcher?watcher?=?new?FileSystemWatcher();
25????????watcher.Path?=?args[1];
26????????/*?Watch?for?changes?in?LastAccess?and?LastWrite?times,?and?
27???????????the?renaming?of?files?or?directories.?*/

28????????watcher.NotifyFilter?=?NotifyFilters.LastAccess?|?NotifyFilters.LastWrite?
29???????????|?NotifyFilters.FileName?|?NotifyFilters.DirectoryName;
30????????//?Only?watch?text?files.
31????????watcher.Filter?=?"*.txt";
32
33????????//?Add?event?handlers.
34????????watcher.Changed?+=?new?FileSystemEventHandler(OnChanged);
35????????watcher.Created?+=?new?FileSystemEventHandler(OnChanged);
36????????watcher.Deleted?+=?new?FileSystemEventHandler(OnChanged);
37????????watcher.Renamed?+=?new?RenamedEventHandler(OnRenamed);
38
39????????//?Begin?watching.
40????????watcher.EnableRaisingEvents?=?true;
41
42????????//?Wait?for?the?user?to?quit?the?program.
43????????Console.WriteLine("Press?\'q\'?to?quit?the?sample.");
44????????while(Console.Read()!='q');
45????}

46
47????//?Define?the?event?handlers.
48????private?static?void?OnChanged(object?source,?FileSystemEventArgs?e)
49????{
50????????//?Specify?what?is?done?when?a?file?is?changed,?created,?or?deleted.
51???????Console.WriteLine("File:?"?+??e.FullPath?+?"?"?+?e.ChangeType);
52????}

53
54????private?static?void?OnRenamed(object?source,?RenamedEventArgs?e)
55????{
56????????//?Specify?what?is?done?when?a?file?is?renamed.
57????????Console.WriteLine("File:?{0}?renamed?to?{1}",?e.OldFullPath,?e.FullPath);
58????}

59}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲二区视频在线| 国产欧美日韩专区发布| 日韩亚洲精品在线| 亚洲人体1000| 亚洲精品欧美在线| 亚洲一区二区综合| 性做久久久久久久免费看| 欧美一区二区三区在线观看视频 | 亚洲精品视频一区二区三区| 亚洲国产精品一区二区尤物区| 亚洲国产一区视频| 亚洲一本大道在线| 久久综合免费视频影院| 欧美国产高清| 国产精品美女久久久久aⅴ国产馆| 国产伦精品一区| 激情欧美丁香| 制服丝袜亚洲播放| 欧美中文在线字幕| 欧美 日韩 国产在线| 99ri日韩精品视频| 久久精品国产综合| 欧美日本网站| 国产综合欧美在线看| 亚洲伦伦在线| 久久尤物视频| 国产精品99久久久久久久女警 | 国内精品视频在线播放| 亚洲黄网站黄| 久久国产精品久久精品国产| 欧美黄色日本| 久久爱另类一区二区小说| 欧美国内亚洲| 影音先锋亚洲电影| 欧美一级专区| 亚洲精品久久久久久久久| 久久精品国产99精品国产亚洲性色 | 久久久国产91| 国产精品成人一区二区网站软件 | 一二三区精品| 米奇777超碰欧美日韩亚洲| 国产精品久久波多野结衣| 久久精品二区| 国产精品自拍一区| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久久人成影片一区二区三区观看| 欧美日本在线观看| 亚洲精品美女免费| 欧美aaa级| 久久9热精品视频| 国产精品网站在线播放| 亚洲图片在线观看| 99ri日韩精品视频| 欧美体内she精视频| 一区二区精品在线观看| 亚洲国产国产亚洲一二三| 久热精品在线| 亚洲福利在线看| 美女主播一区| 快播亚洲色图| 亚洲日韩视频| 亚洲人成亚洲人成在线观看图片| 久久偷窥视频| 亚洲人成在线观看一区二区| 欧美sm视频| 欧美成人免费大片| 亚洲乱码精品一二三四区日韩在线 | 91久久午夜| 欧美精品一区二区视频| 亚洲精品中文字幕在线| 亚洲电影av| 欧美日韩精品在线播放| 99国产精品一区| 夜夜精品视频一区二区| 国产精品美女视频网站| 午夜欧美精品久久久久久久| 亚洲欧美视频在线观看| 国产专区综合网| 欧美电影免费| 国产精品二区三区四区| 久久精品亚洲热| 久久噜噜噜精品国产亚洲综合| 在线国产亚洲欧美| 亚洲精品久久久久中文字幕欢迎你 | 久久国产精品72免费观看| 欧美一区二区| 欧美日韩理论| 欧美亚洲一区二区在线| 欧美在线视频不卡| 亚洲黄色尤物视频| 一区二区三区www| 激情综合色丁香一区二区| 亚洲人成网在线播放| 国产精品日日做人人爱| 久久在线91| 欧美午夜电影在线| 猛男gaygay欧美视频| 国产精品成人一区| 老司机亚洲精品| 国产精品v一区二区三区| 欧美大片免费观看在线观看网站推荐| 欧美人交a欧美精品| 久久久xxx| 国产精品啊啊啊| 欧美激情视频一区二区三区不卡| 国产精品va在线| 欧美激情久久久久| 国产婷婷色一区二区三区| 亚洲精品一区中文| 亚洲电影下载| 欧美诱惑福利视频| 一区二区三区三区在线| 久久久久久久综合日本| 在线视频亚洲| 欧美69视频| 麻豆九一精品爱看视频在线观看免费| 欧美三级乱码| 91久久精品美女| 亚洲第一视频| 欧美一区二区三区久久精品| 亚洲欧美日韩精品久久久久| 欧美激情亚洲一区| 欧美成人午夜激情视频| 国产视频一区三区| 亚洲午夜视频在线观看| 亚洲一区制服诱惑| 欧美日韩另类一区| 亚洲精品乱码| 亚洲乱码日产精品bd| 男人天堂欧美日韩| 欧美国产在线观看| 亚洲第一精品夜夜躁人人躁| 久久久国产视频91| 美国十次成人| 亚洲福利精品| 美女主播视频一区| 女女同性精品视频| 在线精品高清中文字幕| 久久人人97超碰国产公开结果| 久久资源av| 亚洲激情社区| 欧美经典一区二区| 日韩视频不卡| 亚洲欧美日韩国产中文| 国产精品一区二区欧美| 欧美一区视频在线| 麻豆精品在线播放| 亚洲精品视频在线观看免费| 欧美激情精品久久久六区热门 | 小处雏高清一区二区三区 | 午夜一区不卡| 国产乱人伦精品一区二区| 新狼窝色av性久久久久久| 久久国产精品久久久久久| 国产视频自拍一区| 另类成人小视频在线| 亚洲黄色成人| 亚洲欧美国产视频| 国产在线视频欧美| 嫩草伊人久久精品少妇av杨幂| 亚洲国产精品一区二区久| 亚洲视频观看| 国语精品一区| 欧美久久影院| 欧美亚洲综合在线| 亚洲电影观看| 亚洲视频一区在线| 国产综合久久久久久| 欧美第一黄网免费网站| 亚洲视频免费| 欧美成人高清| 亚洲欧美日韩成人高清在线一区| 国产原创一区二区| 欧美精品v日韩精品v国产精品| 亚洲天堂男人| 免费不卡欧美自拍视频| 亚洲综合日韩| 亚洲日本精品国产第一区| 国产精品国产三级国产a| 老牛嫩草一区二区三区日本| 在线视频一区观看| 欧美电影电视剧在线观看| 亚洲欧美一级二级三级| 亚洲第一黄网| 国产精品实拍| 欧美二区乱c少妇| 欧美一级视频精品观看| 亚洲日本在线观看| 久久综合伊人| 午夜精品久久久久久久99黑人| 亚洲国产一区二区三区在线播| 欧美国产高潮xxxx1819| 久久精品亚洲精品| 亚洲欧美日韩成人高清在线一区| 亚洲高清免费| 免费观看国产成人| 久久精品麻豆| 欧美在线观看视频一区二区三区| 亚洲激情六月丁香| 国内成+人亚洲+欧美+综合在线|