Giriş
Şu satırı dahil ederiz.
Constructor - Default
Şöyle yaparız. Bu durumda Path alanını doldurmak gerekir.
Bir dizin veririz. Şöyle yaparız.
Şu NotifyFilter değerleri bu event'i tetikler.
Şu satırı dahil ederiz.
using System.IO;
Bu sınıf bir işlem birden fazla event gönderebilir. Buradaki kod soruna yardımcı oluyor.Constructor - Default
Şöyle yaparız. Bu durumda Path alanını doldurmak gerekir.
FileSystemWatcher watcher = new FileSystemWatcher();
ConstructorBir dizin veririz. Şöyle yaparız.
FileSystemWatcher watcher = new FileSystemWatcher(MyFolder);
Changed Event'iŞu NotifyFilter değerleri bu event'i tetikler.
Attributes,CreationTime,LastAccess,LastWrite,Security,Size
Dizin değişince çağrılmasını istediğimiz metodu tanımlarız.
watcher.Changed += new FileSystemEventHandler(OnResultChanged);
watcher.EnableRaisingEvents = true;
Changed Callback Metodu iskeleti için şöyle yaparız
Şu NotifyFilter değerleri bu event'i tetikler.
Gözleme işlemini etkinleştirir. Şöyle yaparız.
Açıklaması şöyle.
Path alanında belirtilen dizinin tüm alt dizinlerini de gözleriz. Şöyle yaparız.
Yeni bir dosya eklenince yakalamak için şöyle yaparız.
Gözlemek istediğimiz dizini veririz. Şöyle yaparız.void watcher_Changed(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File : " + e.FullPath + " is updated.");
}
Eğer callback birçok event için ortak kullanılıyorsa ChangeType alanına bakarız. Şöyle yaparız.void OnResultChanged(object sender, FileSystemEventArgs e) {
if (e.ChangeType == WatcherChangeTypes.Changed) {
// Check file ready to read
// Ready all lines
string[] lines = File.ReadAllLines(e.FullPath);
}
}
Created Event'iŞu NotifyFilter değerleri bu event'i tetikler.
DirectoryName,FileName
Şöyle yaparız.
watcher.Created += (source, e) => OnChanged(source, e);
Created Callback Metodu iskeleti için şöyle yaparız.watcher.Created += new FileSystemEventHandler(OnCreated);
public void OnCreated(object sender, FileSystemEventArgs e)
{
string s = e.FullPath;
}
Şöyle yaparız.void watcher_Created(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File : " + e.FullPath + " is created.");
}
Deleted Event'i
Şu NotifyFilter değerleri bu event'i tetikler.DirectoryName,FileName
Şöyle yaparız.watcher.Deleted += watcher_Deleted;//called when a file is deleted in path
Deleted Callback Metodu iskeleti için şöyle yaparız.void watcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File : " + e.FullPath + " is deleted.");
}
EnableRaisingEvents Alanıwatcher.EnableRaisingEvents = true;
Filter Alanı
Gözlemek istediğimiz dosyaları süzebiliriz. Her şeyi gözlemek için şöyle yaparız.watcher.Filter = "*.*";
IncludeSubDirectories AlanıAçıklaması şöyle.
Set IncludeSubdirectories to true when you want to watch for change notifications for files and directories contained within the directory specified through the Path property, and its subdirectories. Setting the IncludeSubdirectories property to false helps reduce the number of notifications sent to the internal buffer. For more information on filtering out unwanted notifications, see the NotifyFilter and InternalBufferSize properties. More...
watcher.IncludeSubdirectories = true;//make sure watcher will look into subfolders
NotifyFilter AlanıYeni bir dosya eklenince yakalamak için şöyle yaparız.
watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite;
Şöyle yaparız.watcher.NotifyFilter = NotifyFilters.LastWrite |
NotifyFilters.LastAccess |
NotifyFilters.FileName |
NotifyFilters.DirectoryName;
Şöyle yaparız.
Şu NotifyFilter değerleri bu event'i tetikler.NotifyFilter = NotifyFilters.Attributes |
NotifyFilters.CreationTime |
NotifyFilters.DirectoryName |
NotifyFilters.FileName |
NotifyFilters.LastAccess |
NotifyFilters.LastWrite |
NotifyFilters.Security |
NotifyFilters.Size;
Renamed Event'iDirectoryName,FileName
Path Alanı
watcher.Path = ...;
Hiç yorum yok:
Yorum Gönder