StreamReader İle Dosya Okuma İşlemleri


22 Kasım 2012 Hikmet Okumuş C#

StreamReader, dosya içerisinden veri okumak için kullanılmaktadır. StreamReader, System.IO namespace' i altında bulunmaktadır.Örnek olarak bir .txt içerisinden veri okuyalım. Öncelikle StreamReader sınıfından bir kopya oluşturalım. StreamReader sınıfının birden fazla constructor' ı bulunmaktadır. Biz ilk önce path belirteceğimiz constructor' ı kullanalım.
System.IO.StreamReader Oku = new System.IO.StreamReader("D:\\oku.txt");
Satır okumak için ReadLine() metodu kullanılmaktadır.
System.IO.StreamReader Oku = new System.IO.StreamReader("D:\\oku.txt");
listBox1.Items.Add(Oku.ReadLine());
Eğer okunacak olan dosya birden fazla satır içeriyorsa while döngüsü ile dosya satırları içerisinde dönülebilmektedir. Döngü EndOfStream özelliği ile kontrol edilmektedir. EndOfStream özelliği false olduğu sürece döngü devam edecektir.
        private void button1_Click(object sender, EventArgs e)
        {
            System.IO.StreamReader Oku = new System.IO.StreamReader("D:\\oku.txt", Encoding.Default);
            while (!Oku.EndOfStream)
            {
                listBox1.Items.Add(Oku.ReadLine());
            }

            Oku.Close();
        }
Yukarıdaki örnekte Encoding tanımı yapılmıştır. Okunan dosyadaki karakterleri düzgün bir şekilde görüntülemek için tanımlanmıştır. Genel olarak kullanımı bu şekilde olmaktadır.

Başarılar dilerim.



Kullanıcı Yorumları

hikmet okumuş makale yorum
veysel oğuz gül
1.12.2017 14:31:21

hocam iyi günler.List box ta selectedindexchange de seçili bir dosyanın içeriğini nasıl atabilirim başka bir listboxa?

hikmet okumuş makale yorum
Hikmet Okumuş
2.12.2017 10:49:20

Merhaba Veysel Oğuz Gül,

ListBox SelectedIndexChanged ile seçilen eleman için hangi dosyaya gideceğin bilgisine ulaşıp (Dosya yolunu biliyor olacaksın), System.IO.File.ReadAllLines gibi bir metod ile ilgili dosyanın içeriğini okuyabilirsin.

Metod geriye string bir değer döndürecektir. Sonrasında bu değeri bir ListBox a eklemek istersen, Items.Add ya da Items.Insert metodlarını kullanabilirsin.



Yorum Ekle