Anasayfa / Yazılım / C# / FileStream Sınıfı – Byte Tabanlı Dosya Okuma – Yazma

FileStream Sınıfı – Byte Tabanlı Dosya Okuma – Yazma

FileStream, temel olarak disk üzerindeki dosyalar üzerinde Byte tabanlı kanal oluşturur. Hem binary hem de metin dosyalarında işlem yapmamıza olanak sağlar. Ancak işlemleri Byte tabanlı yaptığı için metin dosyalarında pek tercih edilmez. Stream sınıfının tüm özelliklerine sahiptir. FileStream nesnesi değişik şekillerde tanımlanabilir. En çok tanımlanma şekli;

FileStream fileStreamNesnem = new FileStream (string dosyaAdresim, FileMode DosyayıAçmaModum);

İlk parametre tanımlamamda da açıkca görüldüğü gibi dosyanın diskteki adresini ikinci parametre ise dosyanın ne amaçla açılacağını belirtir. FileMode?a tanımlanan değerle bu amaç belli edilir, buraya gelebilecek değerler :

Append : Yazma işlemini daha önceden yazılanların sonuna ekler. Belirtilen dosya yok ise yeni dosya oluşturulur.

Open : Belirtilen adresteki dosyayı açar ve yazma işlemi yapılacaksa daha önceki içeriğin üzerine yazılır.

OpenOrCreate : Dosya var ise onu açar yok ise yeni dosya oluşturur.
Truncate : Belirtilen dosyayı açar ve içeriği siler.

Create : Yeni bir dosya oluşturur, aynı isimde bir dosya var ise onu siler.

CreateNew : Yeni bir dosya oluşturur, eğer aynı isimde bir dosya var ise hata oluşur.

FileStream ile normalde bir dosya hem yazma hem de okuma için açılır, istenirse bu durum sınırlanabilir. FileStream nesnemi tanımlarken üçüncü bir parametre daha girip burada erişim türü belirtebilirim. Örneğin, Read sadece okuma amacı ile erişim sağlar, Write sadece yazma amacı ile erişim sağlar.
FileStream sınıfında FileShare parametresi ilede dosya üzerinde işlem yapılırken başka birisinin dosyayı ne şekilde paylaşabileceğini belirtir. FileShare değerleri ; Delete, Inheritable, None, Read, ReadWrite, Write değerleridir.

Üzerinde işlem yapılan bir dosya ile ilgili işlemler bittikten sonra mutlaka FileStream nesnemi kapatmam gerekir. Close() metotu ile bu işlemi yapabiliriz.

Şimdi bir örnek ile FileStream kullanımını daha rahat anlayalım :

C:\\ismail\\deneme.txt adında bir dosyayı fiziksel olarak bu adreste oluşturdum ve deneme txt dosyası içine bir takım yazılar aktardım. Şimdi .NET üzerinden bu dosyaya erişeceğim ve içeriğini okuyup bir richtextbox kontrolüne aktaracağım.

Bir cevap yazın

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