Frage

Ich arbeite an einem Programm.

Ich möchte Daten der Datei an der Spitze anzuhängen, aber es ist overwritting nicht anhängen.

Für zB: Betrachten Sie die datei.txt:

  

Etwas bestehenden hier

Jetzt möchte ich „Etwas mehr existierenden hier“ vor der aktuellen Zeile anzuhängen. Gibt es eine Weise, die ich ohne die Verwendung von 2 Filestreams tun?

War es hilfreich?

Lösung

Nein. Dateisysteme grundsätzlich nicht unterstützt Daten in die Datei einfügen - Sie entweder am Ende der Datei anhängen oder vorhandene Daten überschreiben. Wenigstens weiß ich nicht, mit jedem Dateisystem, dass nicht unterstützt dies, und die Standard-APIs nicht.

eine Datei auf anderer Weise zu ändern, der beste Weg ist, eine neue Datei zu schreiben, aus der alten Datei zu lesen, wo es nötig ist (in Ihrem Fall nach dem vorhergehenden Text schreiben). Dann löschen Sie die alte Datei und benennen Sie die neue Datei mit dem gleichen Namen wie die alte Datei haben.

(Eine sicherere Version davon beinhaltet die alte Datei umbenennen, dann die neue Datei umbenennen, dann die alte Datei löschen -. Dies für die Wiederherstellung ermöglicht es, wenn etwas schief geht)

Andere Tipps

Nein. Dateien nicht über einen Insert-Modus auf die gleiche Weise Wort-Prozessoren tun.

Sorry, es ist nicht, was Sie hören wollen, aber es ist eine Tatsache.

Ja

Filestream fs = new Filestream (path2, FileMode.OpenOrCreate, FileAccess.ReadWrite);

sw = new Stream (fs);

sw.BaseStream.Seek (0, 0);

sw.WriteLine ( "write neuen Text");

sw.close ()

Diese Methode wird alle vorhandenen Daten, ähnlich Einsatz überschreiben und ersetzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top