Program Yapmak | Programcılık Hakkında Her Şey | VİSUAL BASİC 6.0 | C, C++ ve C# Yazılım Dilleri | VB.NET Yazılım Dili

Visual Basic ile Text Dosyaya Yazma Okuma

Visual Basic ile bir text dosyaya nasıl yazarız ve text dosyadan nasıl okuruz, onu inceliyoruz.

Bu makalemizde Vb.Net'i kullanarak bir text dosya nasıl oluşturulur ve oluşturmuş olduğumuz text dosyasına nasıl kayıt eklenir, bunlar üzerinde duracağız.

İlk olarak kullanacağımız kütüphaneyi ve bu kütüphanenin class'larını tanıyalım.

Herhangi bir text dosyasını açmak ve yazmaya yada okumaya hazırlamak için filestream class'i kullanılır.

Tabii ki bu class'ları kullanabilmek için sayfamızın en üst bölümüne:

Imports System.IO


kütüphanesini çağırmak gerekecektir. Bizim text dosyasına yazı yazmada kullanacağımız class'larin yer aldığı kütüphanedir.

Biz bu kütüphanenin 3 tane class'ini kullanacağız: FileStream, StreamWriter ve StreamReader.

1- FileStream

Filestream class'inin genel kullanımı aşağıdaki gibidir. Bu class'ta dosyaları yazmak için mi, okumak için mi açacağımızı belirtmemiz gerekir. Aksi takdirde hataya neden olacaktır.

Örneğin bir text dosyasına yazı eklemek istiyorsak bunu Append Modunda açmak gerekir.

Eğer o text dosyasından sadece yazı okuyacaksak bu dosyayı Open modunda açmamız yeterli olacaktır. Dosya oluşturmak içinse;

Dim fs as filestream = new filestream('dosyaadi ve yolu', Filemode.OpenOrcreate)


Kullanımı:

Dim Değişken adı as Filestream = new Filestream('dosya yolu', dosya açma modu)


Dosyadan okumak için;

Dim fs as filestream = new filestream('dosya_adi.txt', Filemode.open)


Dosya'ya yazmak için;

Dim fs as filestream = new filestream('dosya_adi.txt', Filemode.Append)



2- StreamWriter

StreamWriter class' inin genel kullanımı aşağıdaki gibidir. Bu class'i kullanabilmek için ilk olarak bir filestream tanımlamak gerekir ve tanımladığınız streamwriter'a bu filestream atanır.

Kullanımı:

Dim Degisken Adi as streamWriter = new streamwriter(fs)


Örnek:

Dim fs as filestream = new filestream('dosya.txt',filemode.append)
Dim sw as streamwriter = new streamwriter(fs)
               Sw.writeline('Yazilacak deger')


Streamwriter class'inin writeline metodu text dosyasında bir satıra yazar, eğer birden çok satıra veri girmek istenirse, birden çok writeline kullanılmalıdır.

Aşağıdaki gibi:

Sw.writeline('Yazilacak deger')
Sw. writeline('Yazilacak deger')


3- StreamReader

StreamReader class'i text dosyasından veriyi satır satır okumaya yarar.

Kullanımı:

Dim Degisken Adi as StreamReader = new StreamReader(fs)


Örnek:

Dim satir1
Dim fs as filestream = new filestream('dosya.txt',filemode.open)
Dim sr as streamreadet = new streamreader(fs)
               Satir1=sr.ReadLine()


StreamReader class'inin Readline metodu text dosyasındaki sadece bir satırı okur ve okunan satırın bir değişkene ya da bir nesneye atanması gerekir. Birden fazla satır okumak için bir döngü kurmak ve okuma işlemini çoğaltmak gerekmektedir.

Aşağıdaki gibi:

Sr.readline
Sr.readline


Öğrendiklerimizi anlamamız açısından bir de örnek verelim:
Bunun için boş bir proje açalım. Ve aşağıdaki gibi tasarlayalım.
Ama tabii ki tasarım size kalmış siz kafanıza göre tasarım yapabilirsiniz.

http://resim.sanalkurs.net/uploads/oguz1.jpg

Evet form tasarımını tamamladıktan sonra oku butonunun click event'ine geliyoruz. Ve kodumuz şu şekilde olacak:

Oku Butonu Click Event'i:

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
 
        Dim file As String
 
        Dim tmp As String
 
        file = "deneme.txt"
        Dim fs As FileStream = New FileStream(file, FileMode.Open)
        Dim r As StreamReader = New StreamReader(fs)
 
        TextBox1.Text = ""
 
        Do
            tmp = r.ReadLine
            TextBox1.Text = TextBox1.Text & tmp & Microsoft.VisualBasic.ControlChars.CrLf
 
        Loop Until tmp Is Nothing
        r.Close()
        fs.Close()
 
    End Sub


Yaz Butonu Click Event'i:

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
 
        Dim file As String
 
        file = "deneme.txt"
        Dim fs As FileStream = New FileStream(file, FileMode.Append)
        Dim w As StreamWriter = New StreamWriter(fs)
        w.WriteLine(TextBox1.Text)
        w.Close()
        fs.Close()
 
    End Sub


Oluştur Butonu Click Event'ine:

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fs As FileStream = New FileStream("dosya.txt", FileMode.CreateNew)
        fs.Close()
 
    End Sub


Evet, son olarak projemizi build edip çalıştırıyoruz.

Bu makalenin de sonuna geldik.

Bir sonraki makalemizde görüşmek üzere esen kalın.
Sincan Laptop tamiratı ile alakalı içeriklerin bulunduğu web siteden bilgilere ulaşabilirsiniz. Sincan'da laptop tamiratını en iyi yapan yerleri sorgulayabilirsiniz. Cihan KOÇ
=> Sen de ücretsiz bir internet sitesi kurmak ister misin? O zaman burayı tıkla! <=