En iyi yanıtlayıcılar
C# da txt dosyasında istenen satırların silinmesi ve yeni satırların eklenmesini nasıl yapabilirim?

Soru
-
C# da txt dosyasında istenen satırların silinmesi ve yeni satırların eklenmesini nasıl yapabilirim?
silmek için yazdığım program:
private void sil() { string sil_bilgisi; string n = ""; string silbil_al = comboBox1.Text; StreamReader sil_oku = new StreamReader(@"c:\users\tamer\documents\visual studio 2015\Projects\not_defteri_yazma\not_defteri_yazma\referanss.txt"); while ((sil_bilgisi = sil_oku.ReadLine()) != null) { if (sil_bilgisi == silbil_al) { while ((sil_bilgisi = sil_oku.ReadLine()) != "#") { n += Environment.NewLine;//bu kodda yanlışlık var. } sil_oku.Close(); File.WriteAllText(@"c:\users\tamer\documents\visual studio 2015\Projects\not_defteri_yazma\not_defteri_yazma\referanss.txt", n); //while ((sil_bilgisi = sil_oku.ReadLine()).StartsWith("Referans")!=true) //{ // sil_bilgisi.Remove(0, 2); //} break; } } sil_oku.Close(); }
Yanıtlar
-
1.Dosya var ise olduğu gibi silersin ve dosyayı yeniden yazarsın ve aradaki satırları seçerek uğraşmadan silmiş olursun.
2.Dosyayı çekip bir BindingSource içerisine yada List e atarsın ve daha sonra indexlere göre silme yapıp dosyaya yeniden yazarsın indexe göre sileceğin için ara boşluklar kalmaz dosya içerisinde.
3.Dosyaya veri yazarken zaten newline komutunu kullanırsan satırları kendi ekliyor aşağıya doğru.
- Düzenleyen csharpogreniyorum 14 Haziran 2017 Çarşamba 22:19
- Yanıt Olarak İşaretleyen tamerakti 16 Temmuz 2017 Pazar 16:27
Tüm Yanıtlar
-
TextReader tReader = new StreamReader("DosyaYoluVeAdı"); string okunan = tReader.ReadToEnd(); tReader.Close(); okunan = okunan.Replace(comboBox1.Text, ""); TextWriter tWriter = new StreamWriter("DosyaYoluVeAdı"); tWriter.Write(okunan); tWriter.Flush(); tWriter.Close();
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
-
1.Dosya var ise olduğu gibi silersin ve dosyayı yeniden yazarsın ve aradaki satırları seçerek uğraşmadan silmiş olursun.
2.Dosyayı çekip bir BindingSource içerisine yada List e atarsın ve daha sonra indexlere göre silme yapıp dosyaya yeniden yazarsın indexe göre sileceğin için ara boşluklar kalmaz dosya içerisinde.
3.Dosyaya veri yazarken zaten newline komutunu kullanırsan satırları kendi ekliyor aşağıya doğru.
- Düzenleyen csharpogreniyorum 14 Haziran 2017 Çarşamba 22:19
- Yanıt Olarak İşaretleyen tamerakti 16 Temmuz 2017 Pazar 16:27
-
-
-
-
-
-
Yanıtınız için teşekkürler Murat Bey, Örnekte silme işleminde boşluk satır kalır mı? Kalırsa okuma işlemini boşluğa kadar oku yapıyorum. Düzeltme işleminde de referans başlığı altına bir satır bilgi daha ekleme yapılabilir veya satırları silebilir o zaman nasıl bir yol izleyebilirim? String methodlarında da tüm satır silme işlemide yok galiba.
Örn:
Referans2
1
2
5
6
7
# gibi kullanıcı ekleyebilir.Ddsdasdsa
-
Kodu test edin. Boşluk kalmadığını göreceksiniz... Sadece satır başı ve yeni satır işaretleri varsa Replace(comboBox1.Text + "\r\n", "") şeklinde kullanın...
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 20 Haziran 2017 Salı 17:41
-