A
B
C
Ç
D
E
F
G
Ğ
H
I
İ
J
K
L
M
N
O
P
R
S
Ş
T
U
Ü
V
Y
Z
Q
W
X
+ Ekle
Vb.NET FileSystemWatcher

Vb.NET FileSystemWatcher  Bu yazımızda FileSystemWatcher Componentinin yapısını inceleyerek basit bir örnek demo yapacağız.

FileSystemWatcher (Dosya Sistemi İzleyicisi); bir arayüzü olmayan ve uygulamamızın dosya sistemindeki değişiklikleri izlemesini sağlayan özel bir componenttir. Bu component .Net Framework içerisindeki System.IO NameSpace(İsim Adı) inin içinde bulunur.

FileSystemWatcher ile lokal bilgisayarın dosya sisteminde bulunan değişiklikleri, bir ağ sürücüsündeki meydana gelebilecek değişiklikleri ve hatta uzaktaki bir bilgisayarın dosya sistemindeki değişiklikleri (uzaktaki bilgisayarın Windows NT veya 2000 tabanlı olmak şartıyla) denetleyebiliriz. FileSystemWatcher birkaç özelliğe sahiptir. Bu özelliklerle hangi tipteki ve klasördeki dosyaların denetleneceği belirlenir.

Denetleyebildiğimiz parçalar; klasörler ve dosyalardır. Bu component yardımıyla istenilen klasördeki istenilen tipteki dosyayı denetleyebiliriz. Bunu yapabilmek için bu nesnenin olaylarına başvururuz. Yani Denetlemeden kasıt FileSystemWatcher’ ın olaylarıdır. Bu olaylar ise şunlardır;

Dosya veya dizini yaratma (Created), Silme (Deleted), Değiştirme (Changed) ve İsmini değiştirmedir (Renamed).

Ayrıca özel bir olay daha vardır:

Hata (Error) olayı

Bu olay çok fazla değişiklik olduğu ve FileSystemWatcher bu değişikliklerin hepsini yakalayamadığı zaman çalışır.

Önce FileSysytemWatcher componentinin özelliklerini inceleyelim.

Özellikler

FileSystemWatcher component’ ı “Toolbox” ın “Components” kısmında yer almaktadır. Bu component projeye eklendiği zaman bu componentin “Properties” penceresinde Şekil 1 de bulunan özellikler bulunacaktır;

Şekil 1          FileSystemWatcher Componentinin Özellikleri





NotifyFilter:

Bu özellik ile denetlemek istediğimiz değişikliklerin tiplerini belirtiriz. Bu tipler IO.NotifyFilters Enumeration(liste)’ ın üyesidir. Değiştirebileceğimiz tipler şunlardır;

FileName, DirectoryName, Attributes, Size, LastWrite, LastAccess, CreationTime, Security

Her bir tipin bir sayısal değeri vardır. Tablo 1 de bu tiplerin açıklaması ve değerleri verilmiştir. Devamlı kullanılacaksa kod yazımında hız kazandırması açısından değerlerini bilmemizde fayda olabilir.

 

Tablo 1          IO.NotifyFilters Enumeration Üyeleri

Üye Adı