- 5 Şub 2022
- 17
- 25
BinaryWriter vasıtasıyla herhangi bir dosya yazma işlemi yapılabilir ama bunun için bir Stream nesnesine ihtiyaç duyar ki buda StreamWriter ya da FileStream olabilir.
Tabi önce System.IO kütüphanesini projemize dahil ediyoruz.
Örnek bir kullanım aşağıdadır.
Peki neden BinaryWriter ?
Büyük sayılar yazmak istiyorsanız ki yukarıdaki kodda double sayı yazdırdığım kısma bakabilirsiniz. BinaryWriter sayıyı Byte’a çeviriyor ve az yer kaplıyor.Veya true yada false yani bool tipi yazdırmak ister isek yine tek byte'lık veriyi ki ASCII tablosundaki ilk ve ikinci karakteri yazdığını görebilir. StreamWriter ya da FileStream ile yazmış olsaydım yukarıdaki sayı aynen “12312312312312312313123123213” şeklinde yazılacaktı ama “ãçîÅ@äÃE” şeklinde yazıldı ve kapladığı yerde ona göre azaldı. Okuma ve yazma işlemlerinde ise diğer nesneler nazaran yavaştır. Büyük metinler yazdırılacak ise StreamWriter yada FileStream kullanımı daha performans sağlar çünkü BinaryWriter zaten bu iki sınıfı ki en temelde StreamWriter sınıfını kullanarak işlem yapmaktadır.
Yukarıdaki kodun Visual Basic’teki hali
BinaryWriter objesi ile işimiz bittiğinde Close() metodu tetiklenmez ise WriteStream açık kalır ve aynı Stream üzerinde okuma yazma işlemlerimizde "Akış yazılabilir değil" hatası alınır.
Tabi önce System.IO kütüphanesini projemize dahil ediyoruz.
Örnek bir kullanım aşağıdadır.
Peki neden BinaryWriter ?
Büyük sayılar yazmak istiyorsanız ki yukarıdaki kodda double sayı yazdırdığım kısma bakabilirsiniz. BinaryWriter sayıyı Byte’a çeviriyor ve az yer kaplıyor.Veya true yada false yani bool tipi yazdırmak ister isek yine tek byte'lık veriyi ki ASCII tablosundaki ilk ve ikinci karakteri yazdığını görebilir. StreamWriter ya da FileStream ile yazmış olsaydım yukarıdaki sayı aynen “12312312312312312313123123213” şeklinde yazılacaktı ama “ãçîÅ@äÃE” şeklinde yazıldı ve kapladığı yerde ona göre azaldı. Okuma ve yazma işlemlerinde ise diğer nesneler nazaran yavaştır. Büyük metinler yazdırılacak ise StreamWriter yada FileStream kullanımı daha performans sağlar çünkü BinaryWriter zaten bu iki sınıfı ki en temelde StreamWriter sınıfını kullanarak işlem yapmaktadır.
Yukarıdaki kodun Visual Basic’teki hali
BinaryWriter objesi ile işimiz bittiğinde Close() metodu tetiklenmez ise WriteStream açık kalır ve aynı Stream üzerinde okuma yazma işlemlerimizde "Akış yazılabilir değil" hatası alınır.