Laden...

Teil einer Textdatei auslesen

Erstellt von raphaelgl vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.057 Views
Thema geschlossen
R
raphaelgl Themenstarter:in
10 Beiträge seit 2012
vor 11 Jahren
Teil einer Textdatei auslesen

Hallo Zusammen

ich bin relativ unerfahren in sache C#.
Ich möchte eine Textdatei einlesen, dieser in eine liste oder array speichern.
Aber nur die letzen x Zeilen
Dabei ist die Zeile mit "[Start]" der Beginn der List oder array.

ich habe so was gedacht:

            List<string> slist3 = new List<string>();
            using (StreamReader reader = new StreamReader(variabelquelle))
            {
                string line;
                while ((line = reader.ReadLine()) >= "[Start]")
                {
                    slist3.Add(line);
                }
            }

grüsse und danke für die hilfe!!
Raphael

B
357 Beiträge seit 2010
vor 11 Jahren

Und deine Frage?

R
raphaelgl Themenstarter:in
10 Beiträge seit 2012
vor 11 Jahren

sorry, was villeicht nid ganz klar..

Wie kann ich bei einer Textdatei nur der letze Teil (ab einem Zeichen z.b. [Start]) bis am ende in eine list speichern?

T
2.224 Beiträge seit 2008
vor 11 Jahren

Dein Pseudocode ist Sinnfrei 😃

Was du machsen musst wäre im einfachsten Fall folgendes.


List<string> lines = new List<string>();
bool start = false;

using(StreamReader reader = new StreamReader("Datei.txt"))
{
    while(reader.EndOfStream == false)
    {
        string line = reader.ReadLine();

        if(start == false)
        {
            if(line.ToLower().Contains("[start]"))
            {
                start = true;
            }
        }
        else
        {
            lines.Add(line);
        }
    }
}

Ist trocken programmiert könnte aber klappen 😃

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

A
764 Beiträge seit 2007
vor 11 Jahren
File.ReadAllLines("datei").SkipWhile(line => !line.Contains("[START]"));
T
2.224 Beiträge seit 2008
vor 11 Jahren
File.ReadAllLines("datei").SkipWhile(line => !line.Contains("[START]"));  

Klappt es auch bei folgendem Aufbau?

Text1
Text2
[START]
Wert1
Wert2
....

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

A
764 Beiträge seit 2007
vor 11 Jahren

Ich hab's nicht ausprobiert. Ich denke schon. Kannst ja mal auf MSDN die Beschreibung zu 'File.ReadAllLines' und 'SkipWhile' lesen.

Hinweis von herbivore vor 11 Jahren

Wie man eine Datei oder einen Teil einer Datei ausliest, fällt klar unter [Hinweis] Wie poste ich richtig? Punkt 1.1.1. Am besten du liest erstmal ein gutes C# Buch. Zusammen mit einem Blick in die Doku der einschlägigen Klassen, stellen sich dann solche und ähnliche Fragen gar nicht mehr. Siehe auch [FAQ] Wie finde ich den Einstieg in C#?.

Thema geschlossen