Entwickler-Ecke

WPF / Silverlight - Zeile löschen in Textdatei, wenn bestimmtes Wort vorkommt


c#_yo - Mo 20.06.11 21:32
Titel: Zeile löschen in Textdatei, wenn bestimmtes Wort vorkommt
Hallo liebe Community,
wie der Titel schon sagt, habe ich ein Problem eine Zeile in einer Textdatei zu löschen, bei der ein bestimmtes Wort vorkommt (z.B.: Test).

Bei mir schaut das ganze so aus, dass ich auf einen Button ("Löschen") klicke und dann soll die Zeile gelöscht werden, wo dieses Wort vorkommt.

hier mein Code:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
private void button4_Click(object sender, RoutedEventArgs e)
        {
            StreamReader datei = new StreamReader(Pfad);
            string[] lines = { datei.ToString() };
            datei.Close();
            System.IO.File.WriteAllLines(Pfad, lines);

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(Pfad))
            {
                foreach (string line in lines)
                {
                    if (line.Contains("Test") == false)
                    {
                        file.WriteLine(line);
                    }
                }
            }
 
        }


Bei mir steht dann in der Datei: System.IO.StreamReader


Wäre nett, wenn mir einer weiterhelfen kann!

LG

Moderiert von user profile iconKha: Quote- durch C#-Tags ersetzt


jaenicke - Mo 20.06.11 22:25

Das Problem ist datei.ToString(). Das gibt standardmäßig eben den Namen der Klasse zurück, es sei denn die Klasse hat eine spezielle Behandlung dafür implementiert.

Was du suchst ist wohl eher File.ReadAllLines. ;-)


c#_yo - Di 21.06.11 17:22

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Das Problem ist datei.ToString(). Das gibt standardmäßig eben den Namen der Klasse zurück, es sei denn die Klasse hat eine spezielle Behandlung dafür implementiert.

Was du suchst ist wohl eher File.ReadAllLines. ;-)


Danke für die Antwort! Nun funktioniert es!