C# Klasör İçindeki Dosyaları Listeleme

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde bi klasör içindeki tüm dosyaları bulmayı anlatacağım. Öncelikle masaüstünde deneme adında bi klasör olduğunu varsayalım, tüm dersimizi bu klasör üzerinden anlatacağım ve bu klasörün yolunu da bi değişkene atayalım. Yani;
string klasor = "c:/users/kullanici/desktop/deneme";
Bi klasör içindeki dosyaları bulmak için System.IO kütüphanesi altında bulunan Directory sınıfından faydalanacağız. Kullanacağımız fonksiyon ise static tipte olan yani bulunduğu sınıfın yeni bir nesnesi türetilmeden doğrudan erişilebilen GetFiles() fonksiyonu olacak. Bu fonksiyon string tipte klasör yolu, string tipte filtrelenecek dosya uzantıları ve alt klasörlere bakılıp bakılmayacağını belirten SearchOptions tipinde üç parametre alıyor. Yani biz istediğimiz klasörden istediğimiz dosya uzantısındaki dosyaları rahatlıkla bulabiliriz. Ayrıca sadece bulunan klasörde arama yapılmasını istediğimiz gibi o klasörün altında bulunan klasörleri de arayabiliriz. Ve bu fonksiyon bize string dizisi döndürüyor. Yani klasörün içindeki herbir dosyanın yolunu dizinin bir elemanı olarak atıyor ve diziyi bize geri döndürüyor. Sonrasında bu dizi ile istediğimiz işlemleri yapabiliriz. Örneğin daha önce değişkene atama yaptığımız deneme klasöründe bulunan tüm dosyaları bulalım. Yani şöyle;
string[] tumDosyalar = Directory.GetFiles(klasor, "*.*", SearchOptions.AllDirectories);
Bu kod satırı ile tüm alt dizinlere de baktık, sadece belirttiğimiz klasöre bakıp alt klasörlere bakmak istemiyorsakda;
string[] sadeceAnaKlasordekiDosyalar = Directory.GetFiles(klasor, "*.*", SearchOptions.TopDirectoryOnly);
Bu kod satırı ile de sadece deneme klasöründe bulunan dosyaları bulduk, alt klasörlere bakmadık.
Evet bu dersimizde bu kadardı. Diğer C# ile klasör işlemleri için buraya, Tüm C# derslerimiz için ise buraya tıklayabilirsiniz. Herkese hayırlı günler.