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.
VB.NET'te Dosya İşlemleri
Reviewed by Esra TÜRKMEN
on
00:50
Rating: 5