在我的軟件中我將在我的文件夾之一中接收XML文件和PDF文件,所以我想啓動一個事件來讀取XML,所以我可以管理這些文件。如何檢測文件何時放入我的文件夾中
我該如何檢測這個事件,你能否給我推薦一本關於事件或者頁面的書,或者給我一個例子。
在我的軟件中我將在我的文件夾之一中接收XML文件和PDF文件,所以我想啓動一個事件來讀取XML,所以我可以管理這些文件。如何檢測文件何時放入我的文件夾中
我該如何檢測這個事件,你能否給我推薦一本關於事件或者頁面的書,或者給我一個例子。
您可以使用FileSystemWatcher類來觀察該文件夾中的XML文件。
你想使用FileSystemWatcher。
void foo()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "C:\\temp";
watcher.Changed += watcher_Changed;
watcher.Created += watcher_Created;
watcher.Filter = "*.pdf";
}
void watcher_Created(object sender, FileSystemEventArgs e)
{
//handle created
}
void watcher_Changed(object sender, FileSystemEventArgs e)
{
//Handle changed
}
,FileSystemWatcher
是去方式。
但是,請注意,它有一些細微之處:Created
事件在每個文件創建時引發一次,但只要文件首次出現在文件夾中就會引發。如果您有不同的進程複製該文件(可能通過網絡連接),但如果您在處理Created
事件時嘗試訪問該文件,則可能會遇到異常。
另請注意,如果另一個進程正在複製正在監視的文件夾中的文件,Changed
事件很可能會多次提升。使用NotifyFilter
可減少引發的事件數量。
[如何查看文件系統的更改]的可能重複(http://stackoverflow.com/questions/317571/how-to-watch-a-file-system-for-change) – 2011-02-26 00:58:23