你這個是想文件發生改變時,自動調用一個函數,做出一些操作呢。
還是有一個按鈕(或者別的什么),你去點擊一下,然后檢測下一個文件,是否發生了變化?
下面的代碼,監控d盤下的所有.txt文件的修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
static
void
TestFileSystemWatcher()
{
FileSystemWatcher watcher =
new
FileSystemWatcher();
try
{
watcher.Path =
@"d:\Test"
;
}
catch
(ArgumentException e)
{
Console.WriteLine(e.Message);
return
;
}
//設置監視文件的哪些修改行為
watcher.NotifyFilter = NotifyFilters.LastAccess
| NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter =
"*.txt"
;
watcher.Changed +=
new
FileSystemEventHandler(OnChanged);
watcher.Created +=
new
FileSystemEventHandler(OnChanged);
watcher.Deleted +=
new
FileSystemEventHandler(OnChanged);
watcher.Renamed +=
new
RenamedEventHandler(OnRenamed);
watcher.EnableRaisingEvents =
true
;
Console.WriteLine(
@"Press 'q' to quit app."
);
while
(Console.Read() !=
'q'
);
}
static
void
OnChanged(
object
source, FileSystemEventArgs e)
{
Console.WriteLine(
"File:{0} {1}!"
, e.FullPath, e.ChangeType);
}
static
void
OnRenamed(
object
source, RenamedEventArgs e)
{
Console.WriteLine(
"File:{0} renamed to\n{1}"
, e.OldFullPath, e.FullPath);
}
|