Entwickler-Ecke
Sonstiges (.NET) - Textfile oben beschreiben (Streamwriter)
Vegeto - Mo 15.07.13 08:45
Titel: Textfile oben beschreiben (Streamwriter)
Moin Moin
ich habe ein Text datei, die ich regelmäßig beschreibe. Die neue Zeile wird immer ans Ende der Datei gepackt, gibt es eine Möglichkeit die neuen Einträge oben reinzuschreiben?
Also das die neusten/letzten Ereignisse oben stehen?
MfG
Th69 - Mo 15.07.13 09:30
Hallo Vegeto,
nein, das unterstützt das Dateisystem nicht. Entweder immer ganze Datei schreiben oder aber Daten ans Ende einer Datei dranhängen.
Vegeto - Mo 15.07.13 09:42
Hallo Th69
Danke für deine Antwort :)
Schade das sowas nicht funktioniert :/ habe eine Methode gefunden die das an die erste stelle schreibt. Aber in der Methode komm ich nicht an alle benötigten Variablen drann :/
Ich werde wohl die Methode in ein Using-Block packen und dann benutzen.
hier die Methode:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| static void WriteABC(string filename) { string tempfile = Path.GetTempFileName(); StreamWriter writer = new StreamWriter(tempfile); StreamReader reader = new StreamReader(filename); writer.WriteLine("A,B,C"); while (!reader.EndOfStream) writer.WriteLine(reader.ReadLine()); writer.Close(); reader.Close(); File.Copy(tempfile, filename, true); } |
Lg
Danke trotzdem
Ralf Jansen - Mo 15.07.13 10:27
Zitat: |
ich habe ein Text datei, die ich regelmäßig beschreibe. Die neue Zeile wird immer ans Ende der Datei gepackt, gibt es eine Möglichkeit die neuen Einträge oben reinzuschreiben?
Also das die neusten/letzten Ereignisse oben stehen? |
Warum müssen die als erstes in der Datei stehen? Quergedacht reicht es vielleicht ja auch die immer ans Ende zu hängen und den Inhalt der Datei nur ~andersrum~ anzuzeigen.
Vegeto - Mo 15.07.13 10:54
Hallo Ralf Jansen
gibt es eine Möglichkeit die TextDatei ~andersrum~ auszulesen?
Also an die Variante habe ich nicht gedacht xD
Aber ich glaub so würde es bei mir zu Daten verlust führen...
aber ist ne überlegung wert :)
Edit: eigentlich wollte ich somit erreichen, dass wenn man die Textdatei öffnet, den neusten Eintrag ganz oben stehen hat...
Ralf Jansen - Mo 15.07.13 11:07
Wenn du das in einem beliebigen Editor in der richtigen Reihenfolge haben willst dann bleibt dir keine andere Möglichkeit als das in der entsprechenden Reihenfolge in die Datei zu schreiben.
Wenn du das aber selber irgendwo anzeigen wilst in deiner eigenen Anwendung hast du natürlich alle Möglichkeiten. Da du vorraussichtlich eh die ganze Datei anzeigst ist das rotieren im Speicher auch hier am wenigsten aufwendig.
Man könnte zum Beispiel die Datei einfach in ein Array lesen und dieses invertieren.
Zitat: |
File.ReadAllLines(PfadZurDatei).Reverse(); |
Vegeto - Mo 15.07.13 12:03
Hi Ralf Jansen,
Danke für deinen Gedankenschub :D
Doch ich habe es jetzt so geschafft wie ich das wollte :D
Habe mit einer Variable gearbeitet, die ich zunäcgst befüllt habe (StreamReader) und danach verändert habe und dann in das Textfile beschrieben habe (Streamwriter).
Danke euch beiden :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!