C# Console Dersleri Ders-9 “Dosya İşlemleri-1 Dosya oluşturma ve Dosyaya Veri Yazma”

Bugün projemize yeni bir kütüphane ekleyerek devam edeceğiz.

Ekleyeceğimiz bu yeni kütüphane “System.IO”. Bu kütüphane dosya işlemlerinde kullandığımız sınıfları içeren bir kütüphane. Using deyimini kullanarak kütüphanemizi ekledikten sonra ilk öğreneceğimiz sınıf “FileStream”.

FileStream sınıfı yeni bir dosya oluştururken ,dosyadan veri okurken ve dosyaya veri yazarken kullanacağımız ilk sınıf. FileStream bir sınıf olduğu için oluşturacağımız şey bir nesne ve önceki derslerimizde nesneyi nasıl oluşturuyorsak şuan da aynı yapıyı kullanacağız fakat alması gereken zorunlu parametreler var. Bu parametreler ise şu şekilde;

Bu adımda kullanacağımız iki yeni komut var. Bunlardan birincisi “FileMode”. Bu komut dosyamızı açma seklini belirleyeceğimiz komut, diğeri ise “FileAccess”. Bu komut ise kullanım şeklini seçerken kullanacağımız komut. Örnek kullanım şekli ise şu şekilde;

Burada “deneme.txt” adında bir dosyayı oluşturduk ve yazma modunda açtık. Dosya yolu kısmına benim yaptığım gibi doğrudan  dosya ismi de girebiliriz. Bu durumda derleyicimiz projemizin bulunduğu dosyaya verdiğimiz isimde ve türde bir dosya oluşturur.

Tanımlamaları yaptıktan sonra kullanacağımız yeni sınıf “StreamWriter”.  StreamWriter sınıfı da System.OI kütüphanesinin elemanı ve parametre olarak FileStream sınıfının nesnesini kullanıyor. Tanımlama şekli ise ;

Bütün tanımlamaları yaptığımıza göre dosyamıza yazmaya başlayabiliriz. Kodumuz ise şu şekilde;

Dosyaya yazı yazmak için kullandığımız komut ekrana yazdırma komutumuz ile aynı fakat farklı bir sınıfı referans alıyor. O sınıfta görüldüğü üzere StreamWriter. Son adımda ise “sw.close()” komutu ile dosyamızı kapattık. Bunun sebebi txt dosyamıza yazdığımız verileri dosyamızı kapatmadan kayıt edemiyor oluşumuz, yani eğer dosyamızı kapatmasaydık programımız olağan şekilde sonlansa da yazma işlemi gerçekleşmeyecekti.

 

Gelecek dersimizde dosyadan veri okuma konusundan devam edeceğiz. Gelecek dersimizde görüşmek üzere.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir