Merhabalar,
Bu yazı dizimizde temel giriş çıkış işlemlerini inceleyeceğiz ve bu yazı bunlardan ilki olan directory sınıfı ile ilgili temel bilgiler ve detayları içeriyor olacak.
Programlama dilleri içerisinde yer alan önemli yapılardan biri olan I\O sistemi bilgisayarların çeşitli kaynaklarına erişmek için kullanılacak yollar anlamına gelir. Dosya kaydetme, ekrana yada yazıcıya bilgi yazdırma, klavyeden bilgi girişleri birer I\O işlemleridir.
-C# dilinde ise I\O sistemi ile ilgili tüm sınıflar “System.IO” isim alanı altında bulunmaktadır.
-C# dilinde de I\O sistemi akışlar(stream) üzerine kuruludur. Akışlar bir girdi ya da çıktı sistemi üzerinden byte düzeyinde bilgiyi okuya sanal birimlerdir.
-Stream sınıfı akışlar için gerekli temel metot ve özellikleri barındırır.
Directory Sınfı ve İçerdiği Metotlar
Directory sınıfının hiç bir özelliği yoktur. System.IO altında bulunur, sadece statik metotlar içerir.
-DirectoryInfo CreateDirectory(string yol)
Yol değişkeni ile belirtilen adreste bir klasör oluşturur ve bu klasör bilgilerini bir DirectoryInfo nesnesi olarak tutar. Programımızın çalıştığı klasörde bir klasör oluşturmak için sadece klasörün adını yazmak yeterlidir. Örneğin:
Directory.CreateDirectory(@"C:\WINDOWS\test"); //Bu kod C:\WINDOWS altnda test isimli bir klasör oluşturur. Directory.CreateDirectory("test"); //Bu kod programın çalıştığı dizine test isimli bir klasör oluşturur. Directory.CreateDirectory(@"..\test"); //Bu kod programın çalıştığı dizinin bir üst klasörüne test isimli bir klasör oluşturur.
-void Delete(string yol)
Belirtilen adresteki boş klasörü silmek için kullanılır. Parametre olarak farklı kullanımları da mevcuttur. Örnek verecek olursak void Delete(string yol,bool x) bu metot tipi de eğer x değişkeni true ise belirtilen adresteki klasör, içindeki bütün dosya ve klasörler ile birlikte silinir.
-bool Exists(string yol)
Belirtilen adresteki klasörün olup olmadığını bool cinsinden tutar. Eğer klasör var ise true yok ise false döndürür.
-string GetCurrentDirectory()
Çalışan programın hangi klasörde olduğunu verir.
-string[] GetDirectories(string yol)
Belirtilen adresteki bütün klasörleri adresleriyle birlikte bir string dizisi olarak tutar.
-string GetDirectoryRoot(string yol)
Belirtilen adresteki klasörün kök dizin bilgisini verir. Örneğin uygulama C:\ProgramFiles\Programs klasöründe ise C:\ değerini döndürür.
-string[] GetFiles(string yol)
Belirtilen adresteki dosyaları adresleriyle birlikte string dizisi olarak tutar Bu ve benzer metotlarda liste İngilizce alfabetik sırasına göredir.
-string[] GetFileSystemEntries(string yol)
Belirtilen adresteki bütün dosya ve klasörleri adresleriyle birlikte bir string dizisi olarak tutar.
-DateTime GetLastAccessTime(string yol)
Belirtilen adresteki dosya ya da klasöre en son ne zaman erişildiğni DateTime türünden tutar.
-DateTime GetLastWriteTime(string yol)
Belirtilen adresteki dosya ya da klasörün en son ne zaman değiştirildiğini DateTime türünden tutar.
-DateTime GetCreationTime(string yol)
Belirtilen adresteki dosya ya da klasörün ne zaman oluşturulduğunu DateTime türünden tutar.
-string[] GetLogicalDriver()
Bilgisayardaki bütün sürücüleri bir string dizisi olara tutar. Bu sürücülere her türlü sabit disk, CD-ROM sürücü, flash disk v.b. dahildir.
-DirectoryInfo GetParent(string yol)
Belirtilen adresin bir üst klasörünü DirectoryInfo nesnesi olarak döndürür.
-void Move(string kaynak_yol , string hedef_yol)
Dosya ve klasörleri bir konumdan başka bir konuma taşımaya yarar.
-void setLastAccessTime(string yol,DateTime zaman)
Belirtilen adresteki dosya ya da klasörün en son erişim zamanını “zaman” değişkeni olarak günceller.
-void SetLastWriteTime(string yol , DateTime zaman)
Belirtilen adresteki dosya ya da klasörün en son değiştirilme zamanını “zaman” değişkeni olarak günceller.
-void SetCreationTime(string yol , DateTime zaman)
Belirtilen adresteki dosya ya da klasörün oluşturma zamanını ” zaman” değişkeni olarak günceller
Bu yazımızda directory sınıfı ile ilgili bilgiler verdik. Eğer kafanıza takılan ya da eksik gördüğünüz kısımlar varsa yorumlar kısmından benimle iletişime geçebilirsiniz.
Teşekkürler.