Guten Tag!

> ich schreibe in eine textdatei mit streamwriter.writeline und 
> dies immer im
> filestream - filemode.append.
> wie kann ich denn nun den letzten "datensatz" aus der textdatei lesen?
> wenn ich mit streamreader.readline eine "zeile" einlese, so 
> erscheint immer
> die erste von oben.
> ich m�chte aber die letzte eingetragene mit 
> streamreader.readline auslesen.

Genau daf�r gibt es ja Datenbanken. ;-)

Ein Stream kann nur sequentiell gelesen werden, und zwar vom Anfang bis
zum Ende. Wenn man mehr machen, bzw. in Deinem Fall: weniger lesen
m�chte, sollte man eine Datenbank benutzen.

Nat�rlich g�be es auch einen Workaround.
Mit StreamReader.ReadToEnd kannst Du die komplette Datei einlesen und
dann die letzte Zeile suchen. Die letzte Zeile bekommst Du dann so:

GanzeDatei  = StreamReader.ReadToEnd
LetzteZeile =
GanzeDatei.Substring(GanzeDatei.LastIndexOf(Environment.NewLine) + 1)

Wenn Du jedoch mit der FileStream-Klasse arbeitest, kannst Du direkt auf
beliebige Positionen in der Datei zugreifen. Daf�r gibt es da die
Methode FileStream.Seek(...). Damit kannst Du das Lesen beschleunigen,
musst Dich aber um einheitliche Zeilenl�ngen oder andere
Positionierungshilfen und auch um das Encoding selber k�mmern.

Freundliche Gr��e
Joachim van de Bruck

_______________________________________________
Vb.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/vb.net

Odpovedet emailem