C#涓璮ilesystemwatcher鎬庝箞浣跨敤
FileSystemWatcher绫绘槸C#涓敤浜庣洃瑙嗘枃浠剁郴缁熸洿鏀圭殑绫汇€傚畠鍙互鐩戣鎸囧畾鐩綍涓殑鏂囦欢鍜屽瓙鐩綍鐨勫垱寤恒€佹洿鏀广€侀噸鍛藉悕鍜屽垹闄ゆ搷浣溿€?/p>
浠ヤ笅鏄娇鐢‵ileSystemWatcher绫荤殑鍩烘湰姝ラ锛?/p>
- 鍒涘缓涓€涓柊鐨凢ileSystemWatcher瀵硅薄锛屽苟鎸囧畾瑕佺洃瑙嗙殑鐩綍璺緞銆?/li>
FileSystemWatcher watcher = new FileSystemWatcher("鐩綍璺緞");
- 鍙€夛細璁剧疆FileSystemWatcher瀵硅薄鐨勫睘鎬э紝浠ユ寚瀹氳鐩戣鐨勬枃浠剁被鍨嬫垨鍏朵粬閫夐」銆?/li>
watcher.Filter = "*.txt"; // 鍙洃瑙嗘枃鏈枃浠?/span>
watcher.IncludeSubdirectories = true; // 鍖呮嫭瀛愮洰褰曚腑鐨勬枃浠?/span>
- 娉ㄥ唽浜嬩欢澶勭悊绋嬪簭锛屼互鍝嶅簲鏂囦欢绯荤粺鏇存敼浜嬩欢銆?/li>
watcher.Created += new FileSystemEventHandler(OnCreated);
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnDeleted);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
- 瀹炵幇浜嬩欢澶勭悊绋嬪簭銆?/li>
private static void OnCreated(object source, FileSystemEventArgs e)
{
// 澶勭悊鏂囦欢鍒涘缓浜嬩欢
}
private static void OnChanged(object source, FileSystemEventArgs e)
{
// 澶勭悊鏂囦欢鏇存敼浜嬩欢
}
private static void OnDeleted(object source, FileSystemEventArgs e)
{
// 澶勭悊鏂囦欢鍒犻櫎浜嬩欢
}
private static void OnRenamed(object source, RenamedEventArgs e)
{
// 澶勭悊鏂囦欢閲嶅懡鍚嶄簨浠?/span>
}
- 鍚姩FileSystemWatcher瀵硅薄鐨勭洃瑙嗐€?/li>
watcher.EnableRaisingEvents = true;
瀹屾暣绀轰緥浠g爜锛?/p>
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
FileSystemWatcher watcher = new FileSystemWatcher("鐩綍璺緞");
watcher.Filter = "*.txt";
watcher.IncludeSubdirectories = true;
watcher.Created += new FileSystemEventHandler(OnCreated);
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnDeleted);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
watcher.EnableRaisingEvents = true;
Console.WriteLine("Press 'q' to quit.");
while (Console.Read() != 'q') ;
}
private static void OnCreated(object source, FileSystemEventArgs e)
{
Console.WriteLine("Created: " + e.FullPath);
}
private static void OnChanged(object source, FileSystemEventArgs e)
{
Console.WriteLine("Changed: " + e.FullPath);
}
private static void OnDeleted(object source, FileSystemEventArgs e)
{
Console.WriteLine("Deleted: " + e.FullPath);
}
private static void OnRenamed(object source, RenamedEventArgs e)
{
Console.WriteLine("Renamed: " + e.OldFullPath + " to " + e.FullPath);
}
}
姝ょず渚嬩細鐩戣鎸囧畾鐩綍涓殑鎵€鏈夋枃鏈枃浠剁殑鍒涘缓銆佹洿鏀广€佸垹闄ゅ拰閲嶅懡鍚嶄簨浠讹紝骞跺湪鎺у埗鍙拌緭鍑虹浉搴旂殑淇℃伅銆傛寜涓?quot;q"閿€€鍑虹▼搴忋€?/p>