Çözüldü C# ile metin dosyasından sadece 3. satırı okumak

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

ressh

Kilopat
Katılım
12 Mart 2021
Mesajlar
3.548
Makaleler
2
Çözümler
46
Yer
Türkiye
Sadece 3. satırı okumak ve değiştirmek istiyorum. Bunu nasıl yaparım?

Duruma göre false ise true yapacağım.
 
Çözüm
Kod:
using(StreamReader reader = new StreamReader(path)){
    int i = 0;
    while(reader.ReadLine() && i < 2){
        i++;       
    }
    var value = reader.ReadLine();
}
deneyebilir misiniz?
Kod:
using(StreamReader reader = new StreamReader(path)){
    int i = 0;
    while(reader.ReadLine() && i < 2){
        i++;       
    }
    var value = reader.ReadLine();
}
deneyebilir misiniz?
 
Çözüm
Temel olarak iki yol var;
  1. Tüm dosyayı okuyup 3. satırı değiştirip dosyayı üzerine yazmak.
  2. Buffered Stream ile dosyanın sadece ilk 3 satırını okuyup sonrasında sadece ilgili satırı override etmek.
1. yol verimsiz olsa da uygulaması çok basit.
 
Kod:
using(StreamReader reader = new StreamReader(path)){
    int i = 0;
    while(reader.ReadLine() && i < 2){
        i++;     
    }
    var value = reader.ReadLine();
}
deneyebilir misiniz?

Böyle bir hata aldım.

Buffered Streama bir adet örnek verebilir misiniz?
 
Microsoft'un MSDN üzerindeki dökümanı inceleyebilirsiniz.


Küçük bir düzeltme;


C# üzerinde dosya için ayrı bir Stream yapısı mevcutmuş.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…