Merhaba,
Bu yazı dizimizde temel giriş çıkış işlemlerinin altıncı kısımını inceleyeceğiz ve bu yazı bunlardan sekizincisi olan Console İşlemleri ile ilgili temel bilgiler ve detayları içeriyor olacak.
Yazı dizimizin girişinde diğerlerinde de olduğu gibi öncelikle IO sınıfı hakkında bilgimizi ekleyelim:
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.
Girişimizi de yaptıktan sonra bilgi olan kısıma geçebiliriz. I\O işlemleri için gerekli olan sınıflardan System.IO isim alanında olmayan tek sınıf Console sınıfıdır. Console sınıfını ekrana bir şeyler yazmak için ya da kullanıcıdan çıktı almak için sıklıkla kullanırız. Konsol I\O işlemleri içi önceden tanımlanmış üç tane standart akış mevcuttur. Bu akışlar TextWriter türü olan Console.Out, Console.Error ve TextReader türünden olan Console.In ‘dir. Konsol ekranına yazdığımız yazılar aslında TextWriter sınıfının metotları ile mümkün olmaktadır. Console.WriteLine ise bizi için sadece bir aracılık görevi görmektedir. Örneğin aşağıdaki iki satır da ekrana aynı şeyi yazar İkisi de eş görevdedir.
Console.Out.WriteLine("Furkan ALNIAK"); Console.WriteLine("Furkan ALNIAK");
Yani özetle Out, Console sınıfına bağlı bir özelliktir ve geri dönüş tipi TextWriter’dır ve bu veriyle TextWriter sınıfının static olmayan bir metodu olan WriteLine()’a erişiriz.
Konsol ekranına yazı yazdırmak için Console sınıfının WriteLine() ve Write() metotlarını kullanırız. Bu ikisi arasındaki tek fark WriteLine’ın yazının souna “\n” ekleyip Write’ın eklememesidir.
Konsoldan veri almak için ise Read ve ReadLine metotlarını kullanırız. Eğer tamponda herhangi bir veri yoksa Read metodu kullanıcıdan veri girişi ister ve girilen stringteki ilk karakteri int olarak tutar. Sonraki Read metotları ise o stringteki diğer karakterleri tutar. Eğer veri okunmazsa -1 değerini tutar.
Console.In aracılığı ile erişebileceğimiz yani TextReader sınıfının diğer metotları ise:
•int Peek() : Bu metot ile standart girdi akışından bir karakter ounur ancak bu karakter tapondan silinmez.
•int ReadBlock(char[] dizi, int indeks, int adet) : Bu metot ile standart girdi akışından adet değişkeni kadar karaktere diziye indeks elemanından itibaren yerleştirilir.
•string ReadToEnd() : Bu metot ile standart girdi akışındaki bütün veriler okunarak tampondan temizlenir. Okunan veriler string nesnesi olarak döndürülür.
Bu yazımızda da I\O işlemleri ile ilgili bilgiler verdik. Eğer eksik gördüğünüz ya da anlayamadığınız kısımlar var ise bana yorumlar aracılığı ile ulaşabilirsiniz.
Teşekkürler!