İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# FileSystemWatcher Örneği Uygulaması

C# FileSystemWatcher hakkında basit ve kısa bir ders oldu.

C# FileSystemWatcher Örneği Uygulaması
Merhabalar, C# FileSystemWatcher Örneği Uygulaması yazım ile C# eğitim setime devam ediyorum. Bu yazımda bir dosya içerisine bir göz
+ - 0

Merhabalar, C# FileSystemWatcher Örneği Uygulaması yazım ile C# eğitim setime devam ediyorum. Bu yazımda bir dosya içerisine bir göz ekleyebildiğimiz FileSystemWatcher sınıfını inceleyeceğiz.  Bu sınıf sayesinde bir klasör içerisinde yapılan silme, ekleme ve değiştirme işlemlerini takip edebileceğiz.

C# FileSystemWatcher Örneği Uygulaması

C# FileSystemWatcher sınıfı içerisindeki eventlere bir göz atmamız gerekirse;

  • Dosya oluşturulduğunda çalışan Created eventi = FileSystemEventHandler
  • Dosya değiştirildiğinde çalışan Changed eventi = FileSystemEventHandler
  • Dosya silindiğinde çalışan Deleted Eventi  = FileSystemEventHandler
  • Dosya adı değiştirildiğimde çalışan Renamed eventi = RenamedEventHandler

Dosya adı değiştirme işlemi yapısı gereği farklı bir işlem olduğundan dolayı  eventarg ve event handler isimleri farklıdır.

Ayrıca bu yazıda ekstra bir bilgi saha vermiş oldum. Bu bilgide

An exception of type ‘System.InvalidOperationException’ occurred in System.Windows.Forms.dll but was not handled in user code 

Additional information: Çapraz iş parçacığı işlemi geçerli değil: ‘textbox1’ denetimine oluşturulduğu iş parçacığı dışında başka bir iş parçacığından erişildi.

hatasının da nasıl önüne geçileceğini söylemiş oldum. Load eventimiz içerisindeki ilk satırda yer alan ve Control ile başlayan satırımız bu hatayı engellemektedir.

Şimdi size projemizin kodlarını vereceğim. Tek formda kullandığımızdan dolayı çok az kodumuz var.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace FileSystemWatcher_App
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string izlenecek_klasor = "C:\\Izlenen";
        private void Form1_Load(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            FileSystemWatcher dosya_izleme = new FileSystemWatcher(izlenecek_klasor);
            dosya_izleme.Filter = "";
            FileSystemEventHandler tetikle = new FileSystemEventHandler(tetikleme);
            dosya_izleme.Changed += tetikle;
            dosya_izleme.Deleted += tetikle;
            dosya_izleme.Created += tetikle;
            dosya_izleme.Created += new FileSystemEventHandler(Created);
            dosya_izleme.Changed += new FileSystemEventHandler(Changed);
            dosya_izleme.Renamed += new RenamedEventHandler(Renamed);
            dosya_izleme.Deleted += new FileSystemEventHandler(Deleted);
            dosya_izleme.EnableRaisingEvents = true;
        }
        private void Created(object gelen, FileSystemEventArgs e)
        {
            textBox1.Text += e.Name + "'da yeni bir dosya oluşturuldu " + Environment.NewLine;
        }
        private void Changed(object gelen, FileSystemEventArgs e)
        {
            textBox1.Text += e.Name + "'da bir dosya değişti " + Environment.NewLine;
        }
        private void Deleted(object gelen, FileSystemEventArgs e)
        {
            textBox1.Text += e.Name + "'da bir dosya silindi " + Environment.NewLine;
        }
        private void Renamed(object gelen, RenamedEventArgs e)
        {
            textBox1.Text += e.Name + "'da bir dosyanın adı değiştirildi" + Environment.NewLine;
        }
        private void tetikleme(object gelen, FileSystemEventArgs e)
        {
            textBox1.Text += "Bu klasörde birşeyler oluyor " + e.Name + Environment.NewLine;
        }
    }
}

Videosu…


C# FileSystemWatcher Örneği Uygulaması yazımda bu kadar arkadaşlar.  Diğer yazılarımda görüşmek üzere. Umarım faydalı olmuştur. Aşağıdaki linklerden eğitim seti sayfasına ve github projesine ulaşabilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.  Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu projenin Github sayfasına buradan ulaşabilirsiniz.

Sağlıcakla ve kodla kalın….

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)