VB.NET'te Dosya İşlemleri

Dosyadan okumak, dosyaya yazmak, var olan dosya üzerinde işlem yapmak veya her defasında yeni bir dosya yaratmak isteyebiliriz. Bu farklı işlemler için dosyaları farklı modlarla açarız. Öncelikle en çok kullanılan modlara değinecek olursak;

1- OpenMode.Output: Dosya yazma modudur. Eski veriler saklanmaz. Dosya yoksa yaratır, varsa üzerine yazar.

2- OpenMode.Append: Dosya yazma modudur. Eski veriler silinmez. Dosyaya veri eklemek için kullanılır.

3- OpenMode.Input : Dosya okuma modudur. Sıralı olarak satır satır dosyayı okur.

Dosya okuma ve yazma işlemlerini içeren bir örnek bir aşağıda yer almaktadır. 

Öncelikle projemize Imports System.IO ekleyerek giriş çıkış işlemleri için kütüphanemizi import ediyoruz.

Imports System
Imports System.Text
Imports System.IO
Public Class FDosyalama
'3 adet string değişken barındıran PersonelDetay adında bir yapımız olduğunu düşünelim.
'Yapımızın bulunduğu .vb dosyası:
'Module Dosyalama
'    Public Structure PersonelDetay
'        Dim tc As String
'        Dim ad As String
'        Dim soyad As String
'    End Structure
'End Module
Dim Degerler(20) As PersonelDetay
'Örnekte 20 adet satır içeren bir dosyayı okuyacağımızı varsayıyorum.
'Dosya okuma işlemi için fonksiyonumuz aşağıda yer almaktadır. 
Private Sub DosyaOku()  
        'Application.StartupPath ile C:\Users\esra.turkmen\Documents\Projects\Dosyalama\bin\Debug
        'gibi projenin bulunduğu konumu belirten bir yol belirtilmektedir.
        'Buradaki if koşulu Ornek.txt isimde bir dosya varsa okuma işlemini başlat demek içindir.
        If Dir(Application.StartupPath & "\Ornek.txt", FileAttribute.Normal) <> "" Then     
            'Dosyayı okuma modu ile aç.
            FileOpen(1, Application.StartupPath & "\Ornek.txt", OpenMode.Input)
            For i As Integer = 0 To 19
                Try
                    'Input komutu ile ilk satırdan başlayarak toplam 20 değer 
                    'sırası ile değişkenlerimize atılır. 
                    Input(1, Degerler(i).tc)
                    Input(1, Degerler(i).ad)
                    Input(1, Degerler(i).soyad)

                Catch ex As Exception
                    'Hata durumunda değişkenler boş döndürülür. 
                    Degerler(i).tc = ""
                    Degerler(i).ad = ""
                    Degerler(i).soyad = ""
                End Try
            Next
            FileClose(1)
        Else
            'Dosya yoksa hata almamak için değişkenler boş döndürülür. 
            For i As Integer = 0 To 19
                Degerler(i).tc = ""
                Degerler(i).ad = ""
                Degerler(i).soyad = ""
            Next
        End If
    End Sub
'Dosya yazma işlemi için fonksiyonumuz aşağıda yer almaktadır. 
Private Sub DosyaYaz()
        Try
            'Ornek.txt adında bir dosya varsa ona yazar, yoksa oluşturur. 
            FileOpen(1, Application.StartupPath & "\Ornek.txt", OpenMode.Output)
            For i As Integer = 0 To 19
                WriteLine(1, Degerler(i).tc, Degerler(i).ad, Degerler(i).soyad)
            Next
            MessageBox.Show("Kaydedildi.")
        Catch
            MessageBox.Show("Kaydedilemedi.")
        Finally
            FileClose(1)
        End Try
    End Sub
End Class

Bir form oluşturup formdaki butonlar ile veya diğer tetikleyiciler ile bu fonksiyonları gerekli yerlerde çağırabiliriz.

2 yorum:

  1. Hiii.teşekkürler Esra abla çok yaralı oldu başarılarının devamını temenni ediyorum. BYYYYy

    YanıtlaSil
  2. Hi. Sağol kaaaarşim :)) By.

    YanıtlaSil

Blogger tarafından desteklenmektedir.