Şimdi text dosyasındaki bilgileri okumak üzere başka bir proje hazırlayacağım. Bu amaçla önce FileStream sınıfının yapıcı metodu ile üzerinde işlem yapmak istediğim dosyayı açacağım. Dosyadan okuma yapmak istediğim için Read modunda açtım.
FileStream Dosya;
StreamReader Okuma;
string Yol= "C:\\Adres.txt";
Dosya = new FileStream(Yol, FileMode.Open, FileAccess.Read);
Okuma = new StreamReader(Dosya);
Dosyadan bilgi okunmak istendiği zaman ReadLine() metodu kullanılmaktadır. Bu metot her kullanıldığında text dosyasından bir satır okuyup geriye göndermektedir. Proje çalıştırıldığında dosyadaki ilk 3 satırın okunup TextBox’lara aktarılmasını sağlamak için formun Load olayını temsil eden metodunu aşağıdaki gibi düzenledim.
FileStream Dosya;
StreamReader Okuma;
private void Form1_Load(object sender, EventArgs e)
{
string Yol = "C:\adres.txt";
Dosya = new FileStream(Yol, FileMode.Open, FileAccess.Read);
Okuma = new StreamReader(Dosya);
textBox1.Text = Okuma.ReadLine();
textBox3.Text = Okuma.ReadLine();
textBox3.Text = Okuma.ReadLine();
}
ReadLine() metodu 2. kez kullanıldığında kayıt okuma kafası kaldığı yerden satırın sonuna kadar okuma yapar. Bu sırada formdaki “Sonraki” başlığına sahip düğme tıklandığında bir sonraki kaydın içeriğinin ekrana gelmesini sağlamak için bu düğmenin Click() metoduna aşağıda verdiğim satırları yazdım. Bu satırlar sayesinde düğmede yapılacak her tıklama sonrası text dosyasındaki bir sonraki kaydın içeriği(sıradaki 3 satır) ekrana getirilir.
textBox1.Text = Okuma.ReadLine();
textBox3.Text = Okuma.ReadLine();
textBox3.Text = Okuma.ReadLine();
Bu şartlarda dosyanın sonunda iken “Sonraki” başlıklı düğme tıklanıp bu metot tekrar işletildiğinde hata meydana gelmez ama bu konuda kullanıcıya mesaj vermek gerekir. Bu nedenle yukarıda verdiğim kodu aşağıdaki gibi değiştirdim. Dosya sonuna gelindiğinde ReadLine() metodu geriye null göndermektedir.