Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

Verilerin tekrar etmesini nasıl önleyebilirim

Merhaba bir hava durumu sitesinden xml olarak çektiğim verileri gerekli label lara yazdırdıktan sonra bu verileri not defterine yazdırıyorum yeni veri geldiğinde bu veriler güncelleniyor ve tekrar text dosyasına kaydediliyor aynı gelen verileri kayıt etmek istemiyorum bunun kontrolünü nasıl sağlarım? C# kullanıyorum.

Soran: 24.04.21 08:42
bymrhan
4p 1ü

1 Cevap

0
Bir metin dosyasına kaydediyorsan ve daha önceki kaydedilenlerle beraber arşiv olarak kullanmıyorsan text dosyasını her seferinde yeniden oluştur. Eskisini sil yenisini yaz. Text dosyaları için hiç bir zaman değiştirme işine girme. Text dosyalarında sadece günlük kayıtlarında olduğu dosya sonuna ekleme yapılır. Hiç kimse aradan metni değiştirmez. Çünkü boşa vakit ve kaynak kaybıdır. Değiştirme için eski dosya okunur, yeni dosyaya yazılır, okuma ve yazma sırasında değiştirelecekler güncellenerek, diğerleri aynen yazılır. Örnekleri bu şekilde görürsün.

Arşiv varsa zaten veritabanı gibi bir şey yapman lazım.

Bunların haricinde alttaki kod bir metin dosyasını yükler, hafızadaki verilerle karşılaştırır, değişenleri günceller ve text dosyasını tekrar yazar (ki ben olsam kullanmam):

        void Test(string[] yeniSatirlar)
        {
            string[] satirlar = System.IO.File.ReadAllLines(@"C:\test\test.txt");
            string[] birlesikSatirlar = satirlar.Concat(yeniSatirlar).Distinct().ToArray();
            System.IO.File.WriteAllLines(@"C:\test\test.txt", birlesikSatirlar);
        }





Cevaplayan: 24.04.21 15:52
cevapsitesi
102,035p 16ü