C# bestimmte Zeile mit Text aus einer Textdatei lesen?

3 Antworten

while (sr.Peek() != -1)
{
  zeile = sr.ReadLine();
  if (zeile.Contains("Error") == true)
  {
    // Hier kannst du die "Error"-Zeile(n) verarbeiten
  }            
  lstLog.Items.Add("" + zeile + "\n");    
}

Durchsuche einfach deinen Zeilen-Text nach dem Vorkommen von "Error" (ggf. mit passenden Leerzeichen zur Worttrennung; und falls nötig auch mit Regex).

Danach kannst du damit anstellen, was du willst.

Zwei Tipps:

1. Wenn du nur einen Fehler suchst, breche die Schleife ab. Das spart Ressourcen und beschleunigt gerade bei größeren Logs die Verarbeitung.

2. Wenn du mehrere Fehler suchst und sie rechen-intensiver verarbeiten willst, kannst du sie auch in einer Liste puffern:

List<string> errorList = new List<string>();
while (sr.Peek() != -1)
{
  zeile = sr.ReadLine();
  if (zeile.Contains("Error") == true)
  {
    errorList.Add(zeile);
  }            
  lstLog.Items.Add("" + zeile + "\n");    
}

Nach dem Durchlauf stehen alle "Error"-Zeilen in der Liste errorList zur Verfügung. Dann kannst du sie glatt verarbeiten:

foreach(string error in errorList)
{
   // Hier "Error"-Zeilen aufwändig verarbeiten
)

Enjoy it!

Frogginick 
Fragesteller
 17.08.2015, 15:00

Perfekt Danke!!!

0

Hallo!

Wenn eine Zeile vollständig eingelesen ist, diese nach "Error" absuchen/scannen.

Gruß