Chapter 14: Files and Streams
2Microsoft Visual C# 2012, Fifth Edition Dosyalar, Dosya Ve dizin Sınıfları Geçici Depolama – Genellikle bilgisayar belleği olarak bilinir veya or rasgele erişim belleği (RAM) – Değişkenler geçici depolamayı kullanır – Geçici ( Volatile) Kalıcı Depolama – Bilgisayar kapansa bile dosya kaybı olmaz – Kalıcı (Nonvolatile) – Program bir diskte kaydedilir.
3Microsoft Visual C# 2012, Fifth Edition Dosyalar, Dosya Ve dizin Sınıfları Metin dosyaları – ASCII ve Unicode karakterlerinini bilgilerini içerir. Düz metin editörü gibi okunabilir Veri dosyaları veya kaynak kod dosyaları olabilir (örn., C#kaybak kodu) İkili dosya – Yazılımı, müzikleri ve görüntüleri v.b depolar
4Microsoft Visual C# 2012, Fifth Edition Dosyalar, Dosya Ve dizin Sınıfları Bir dosyanın özellikleri – Saklama cihazının bir bölümü üzerinde yer kaplar – Adı, boyutu, türü, ve oluşturulma zamanı vardır Dosyaya yazma – Kalıcı bir depolama aygıtında bir dosyanın verilerini saklama Dosyadan okuma – Depolama aygıtındaki veriyi RAM’in içine kopyalar. Bilgisayar kullanıcıları dosyalarını into klasörlerin veya dizinlerin içinde düzenler
5Microsoft Visual C# 2012, Fifth Edition Dosyalar, Dosya Ve dizin Sınıfları Yol ( path) – Disk sürücüsünün bir arada ve dizinlerin tam hiyerarşisinin bulunduğu dosya Örneğin: C:\C#\Chapter.14\Data.txt C# dosya ve dizin adında dahili sınıflar sağlar. – Dosyaları ve kendi dizinlerini değiştirmek için yardımcı metotlar içerir Dosyalara erişim bilgisi Dosya oluştur, sil, veya yürüt
6Microsoft Visual C# 2012, Fifth Edition Dosya Ve Dizin Sınıflarını Kullanma Dosya sınıfı – Dosyalar hakkında bilgilere erişmek için yöntemler içerir – System.IO uzayadının içindedir Dizin sınıfı – Dizin veya klasörler hakkında bilgi sağlar
7Microsoft Visual C# 2012, Fifth Edition Dosya Ve Dizin Sınıflarını Kullanma Şekil 12-1 :Seçilen dosya sınıfı metotları
8Microsoft Visual C# 2012, Fifth Edition Şekil 14-1 :FileStatistics programı
9Microsoft Visual C# 2012, Fifth Edition Dosya Ve Dizin Sınıflarını Kullanma Şekil 14-2 :FileStatistics programının 2 tipik şekilde yürütülmesi
10Microsoft Visual C# 2012, Fifth Edition Dosya Ve Dizin Sınıflarını Kullanma Şekil 14-2 :Seçilen Dizin sınıfı metotları
11Microsoft Visual C# 2012, Fifth Edition Şekil 14-3 :DirectoryInformation programı
12Microsoft Visual C# 2012, Fifth Edition Dosya Ve Dizin Sınıflarını Kullanma Şekil 14-4 :DirectoryInformation programının 2 tipik şekilde yürütülmesi
13Microsoft Visual C# 2012, Fifth Edition Dosya Veri Organizasyonunu Anlama İşletmeler veri hiyerarşisi olarak bilinen bir ilişki içinde veri depolarlar Karakter – Herhangi bir harf, sayı veya verileri oluşturan diğer özel simgelerdir (noktalama işaretleri gibi) – Karakterler 8 bit içeren byte lardan oluşur ASCII karakterleri bir byte içerir. Unicode karakterleri iki byte içerir
14Microsoft Visual C# 2012, Fifth Edition Dosya Veri Organizasyonunu Anlama Şekil 14-5 :Veri bileeşenlerinin hiyerarşik ilişkileri
15Microsoft Visual C# 2012, Fifth Edition Alan – Bir karakter veya bir anlamı olan karakter grubu Kayıt – Bir varlıkla ilgili verileri içeren ilgili alanlar topluluğu Veri dosyaları – İlgili kayıtlardan meydana gelir Dosya Veri Organizasyonunu Anlama
16Microsoft Visual C# 2012, Fifth Edition Bir C# uygulaması bir nesne oluşturup bu nesneyle bayt akışını ilişkilendirerek bir dosyayı açar Bir dosyayı kullanmamızı bitirdikten sonra program dosyayı kapatır – Kapatılmazsa erişilemez hale gelebilir – Bir çıkış dosyası kapatılmazsa veriler dosyaya yazılmayabilir. Dosya Veri Organizasyonunu Anlama
17Microsoft Visual C# 2012, Fifth Edition Akımları Anlama Akım – Bir giriş cihazı, bir uygulama veya potansiyel olarak bir çıkış aygıtı arasında bir boru hattı ya da kanal olarak görev görür Şekil 14-6 :Dosya akışları
18Microsoft Visual C# 2012, Fifth Edition Akımları Anlama Çoğu akımlar tek bir yönde akar – StreamReader bir dosyadan metin girişi – StreamWriter bir dosyadan metin çıktısı – FileStream bir dosyadan gelen giriş ve çıkış için
19Microsoft Visual C# 2012, Fifth Edition Akımları Anlama Tablo :FileMode sayımı
20Microsoft Visual C# 2012, Fifth Edition Akımları Anlama Tablo :FileAccess sayımı
21Microsoft Visual C# 2012, Fifth Edition Akımları Anlama Şekil 14-7 :WriteSomeText programı
22Microsoft Visual C# 2012, Fifth Edition Akımları Anlama Şekil 14-9 :WriteSomeText programı tarafından oluşturulan dosya Şekil 14-8 :WriteSomeText programının yürütülmesi
23Microsoft Visual C# 2012, Fifth Edition Sınırlayıcı – Bir karakter metin dosyaları kayıtları ve potansiyel alanlar arasındaki sınırı belirlemek için kullanılır Bir metin dosyasına veri yazdığınızda: – Bir sınırlayıcı ile alanları ayırabilirsiniz – Sınırlayıcılara alanların boyutları ve konumu sabit değilken ihtiyaç vardır—alan boyutu değişir – CSV dosyaları (virgülle ayrılmış değer dosyaları) ayrılmış dosyalardır Sıralı Erişimli Metin Dosyasına Veri Yazma
24Microsoft Visual C# 2012, Fifth Edition Sıralı Erişimli Metin Dosyasına Veri Yazma Şekil :Employee sınıfı
25Microsoft Visual C# 2012, Fifth Edition Şekil 14-11: WriteSequentialFile sınıfı
26Microsoft Visual C# 2012, Fifth Edition Sıralı Erişimli Metin Dosyasına Veri Yazma Şekil :WriteSequentialFile programının yürütülmesi
27Microsoft Visual C# 2012, Fifth Edition Sıralı Erişimli Metin Dosyasına Veri Yazma Şekil :WriteSequentialFile Programı tarafından oluşturulan dosyanın içeriği
28Microsoft Visual C# 2012, Fifth Edition Sıralı Erişimli Metin Dosyadan Okuma Bir metin dosyasından okuma bir metin dosyasına yazmayla benzerdir. Kullanılan Sınıflar: – FileStream – StreamReader
29Microsoft Visual C# 2012, Fifth Edition 29 Şekil :ReadSequentialFile programı
30Microsoft Visual C# 2012, Fifth Edition Sıralı Erişimli Metin Dosyadan Okuma Şekil :ReadSequentialFile programının çıktısı