Gast
#4026217
Guten Morgen, ich möchte von einer Textdatei nur die letzte Zeile in eine string Variable auslesen können. Wie könnte dies mit StreamReader realisiert werden? Besten Dank schonmal im Voraus.
|
Anzeige
|
Nur letzte Zeile von Textdatei lesen (C#)
Gast
#4026217
Guten Morgen, ich möchte von einer Textdatei nur die letzte Zeile in eine string Variable auslesen können. Wie könnte dies mit StreamReader realisiert werden? Besten Dank schonmal im Voraus.
Gast
#4026268
In einer while Schleife zähle ich einen Counter hoch bis die letzte Zeile erreicht wird. Gibt es noch einen anderen Weg?
Gast
#4026276
Einfach jede Zeile in die Variable einlesen. Der letzte Eintrag ist dann die letzte Zeile. neuling schrieb: > In einer while Schleife zähle ich einen Counter hoch bis die letzte > Zeile erreicht wird. Gibt es noch einen anderen Weg? Wozu? Willst du die Anzahl der Zeilen wissen? > Gibt es noch einen anderen Weg?
Wie immer gibt es unzählige Wege... z.B.
Gast
#4026285
In der Textdatei habe ich eine fortlaufende Nummer. Wenn ich die Applikation neu starte, soll das Speichern ab der letzten Nummer von der Textdatei erfolgen. Was ich eigentlich möchte ist, dass ich NUR die letzte Zeile von der Textdatei auslesen möchte. Wie könnte dies umgesetzt werden?
Gast
#4026287
Oder vom Ende der Datei ein Stück lesen und dann den String oder das Array von hinten nach Newlines durchsuchen. Ich gehe jetzt mal von 1 Byte pro Zeichen in der Datei aus, weil du zum Format nichts schreibst. BTW: Suchst du nun - wie oben angegeben - die letzte Zeile oder den Index der letzten Zeile bzw. die Anzahl der Zeilen?
Gast
#4026298
Kaspar Hauser schrieb: > Ich gehe jetzt mal von 1 Byte pro Zeichen in der Datei aus Genauer gesagt: von einer konstanten Anzahl von Bytes pro Zeichen. Sonst wird es mit "das Ende einlesen und von hinten auswerten" u.U. schwierig ... neuling schrieb: > Was ich eigentlich möchte ist, dass ich NUR die letzte Zeile von der > Textdatei auslesen möchte. Wie könnte dies umgesetzt werden? Du könntest die Datei zeichenweise rückwärts (d.h. vom Dateiende ausgehend) einlesen bis Du zum ersten Zeilenumbruchszeichen kommst.
Gast
#4026315
Damit funktioniert es so wie ich es möchte:
Vielen Dank für die Unterstützung!
Gast
#4026321
neuling schrieb: > Damit funktioniert es so wie ich es möchte: > string lastLine = System.IO.File.ReadLines("test.txt").Last(); naja, hoffentlich wird die Daten nicht mehr sehr groß. Hier wird alles in den RAM geladen was in der Datei steht.
Gast
#4026344
neuling schrieb: > Damit funktioniert es so wie ich es möchte: > string lastLine = System.IO.File.ReadLines("test.txt").Last(); Neuling schrieb: > Wie könnte dies mit StreamReader realisiert werden Hmpf ... neuling schrieb: > Damit funktioniert es so wie ich es möchte: Ok. Es sei allerdings dazu gesagt, dass die Lösung zwar diese Anforderung erfüllt: Neuling schrieb: > ich möchte von einer Textdatei nur die letzte Zeile in eine string > Variable auslesen können. Folgende (von dir erst später erwähnte :) ) jedoch nicht: neuling schrieb: > Was ich eigentlich möchte ist, dass ich NUR die > letzte Zeile von der Textdatei auslesen möchte. Die letzte Zeile landet zwar in der Variablen, im Hintergrund wird aber dennoch alles eingelesen.
liefert ein String-Array mit allen Zeilen zurück, das angehängte ".Last()" gibt dir dann nur dessen letztes Element. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|