Arkadaşlar, bu yazımda c# dilinde .txt dosyalarını veritabanı şeklinde kullanımını göreceğiz.İlk olarak bilgilerimizi dosyaya belli bir düzende girmemmiz gerekiyor. Bilgilerimizi aralarına ‘#’ karakteri koyarak satır satır girelim. Örneğin aşağıdaki gibi;1001#elma#3,561002#kiraz#2,451003#gofret#0,50
Daha sonraki işlemlerde bu dosyadaki bilgileri alacağız ve ‘#’ karakterine göre ayrıştıracağız. Şimdi bu ayrıştırma işlemini yapalım. Hatta bunu yapan bir fonksiyon oluşturalım.Fonksiyonumuzun adı tara olsun.public void tara() {/*Bilgilerin tutulacağı dosyanın ismi bilgiler.txt*/FileInfo dosya = new FileInfo(@”bilgiler.txt”);FileStream fs = dosya.Open(FileMode.Open, FileAccess.Read,FileShare.None);StreamReader sr = new StreamReader(fs);/*Aşağıda bilgilerin ayrı ayrı tutulacağı bağlantılı listeler var.*/LinkedList ürün_kod_liste= new LinkedList();LinkedList ürün_adi_liste = new LinkedList();LinkedList ürün_fiyat_liste = new LinkedList();/*Aşağıdaki while döngüsüyle dosyayı satır satır okuyoruz.*/string satir2;while ((satir2 = sr.ReadLine()) != null){/*satırdaki bilgilerin ayrıştırılmış şekilde tutulacağı değişkenler.*/string kodsatiri = “”;string ürünsatiri = “”;string fiyatsatiri = “”;bool a1 = true;bool a2 = false;bool a3 = false;/*satırı char türünden bir diziye ayırıyoruz.*/char[] karakterler = satir2.ToCharArray();/*Dizideki bütün karakterlere bakıyoruz.*/for (int i = 0; i < karakterler.Length; i++){if (a1){if (karakterler[i] != '#'){kodsatiri += karakterler[i].ToString();}else{a1 = false;a2 = true;a3 = false;}}else if (a2){if (karakterler[i] != '#'){ürünsatiri += karakterler[i].ToString();}else{a1 = false;a2 = false;a3 = true;}}else if (a3){if (karakterler[i] != '#'){fiyatsatiri += karakterler[i].ToString();}else{a1 = true;a2 = false;a3 = false;}}}/*Fiyatın geçiçi olarak tutulacağı değişken.*/double gecici_fiyat;/*fiyatsatiri değişkeni double türünden bir değişkene aktarılıyor.*/double.TryParse(fiyatsatiri, out gecici_fiyat);/*Ve bağlı listenin sonuna ekleniyor.*/ürün_fiyat_liste.AddLast(gecici_fiyat);/*Kodun geçiçi olarak tutulacağı değişken.*/int gecici_kod;/*kodsatiri integer türünden bir değişkene aktarılıyor.*/int.TryParse(kodsatiri, out gecici_kod);/*Ve bağlı listenin sonuna ekleniyor.*/ürün_kod_liste.AddLast(gecici_kod);/*Ürün adı bağlı listenin sonuna ekleniyor.*/ürün_adi_liste.AddLast(ürünsatiri);}}
Örnek şimdilik bu kadar, siz isterseniz bağlı listeleri diziye aktarıp kullanabilirsiniz. Kolay gelsin.