File von hinten lesen?

kahuna

Erfahrenes Mitglied
aloa alle zusammen

gibts in .net eine möglichkeit, ein File "von hinten zu lesen?". ich brauche von einem file immer die letzten beiden zeilen. in java (wo ich herkomme) gabs auf den Stream eine Methode seek() wo man die leseposition des streams einstellen konnte.

gibts so was in c#? also wo ich quasi den stream-zeiger auf die 2.letzte Zeile setzten kann?

gruss kahuna
 
Also, meine spontane Idee wäre das File als ganzes einzulesen ( ReadToEnd ) und dann den 3. letzten Zeilenumbruch zu suchen und von dort weg in einen neuen String zu kopieren.

Ich weiß nicht ob Dir das gefällt, aber es müsste funktionieren.

Liebe Grüsse
Gregor
 
hab gesehen, dass der basestream von StreamReader ebenfalls eine Methode seek hat, aber die (wie in java leider auch) nicht zeilenweise benutzbar ist.

muss wohl oder übel deine variante implementieren.

danke und gruss

kahuna
 
Hallo!

Du solltest das gesamte File in ein String-Array einlesen. Dann hast Du automatisch auch die Anzahl der Zeilen. Davon ziehst Du eins ab, dann hast Du den letzten Index des Arrays, was der letzten Zeile entspricht. Ziehst Du nochmals eins ab, so hast Du die vorletzte Zeile.
Code:
// Hier steht der Code zum Einlesen des Files in das String-Array

string letzteZeile = arrDatei[arrDatei.GetLength(0) - 1];
string vorletzteZeile = arrDatei[arrDatei.GetLength(0) - 2];
So in etwa ... :D
 
Zurück