Romero: String in eine bestehende TXT-Datei einfügen

Beitrag lesen

Hy Martin,

Textdateien haben keine festgelegte Struktur, sie sind nur eine (fast) endlose Aneinanderreihung von Zeichen. Deswegen gibt es technisch gesehen auch keinen anderen Weg als die Datei komplett zu lesen, zu ergänzen und wieder zu schreiben.

ich hab im Netz dazu folgendes gefunden gehabt: new FileWriter("c:/file.txt",/* append */ true);

Ich könnte mir eine minimale Vereinfachung vorstellen, indem du die Originaldatei zum Lesen öffnest, eine neue Datei unter einem temporären Namen zum Schreiben. Da schreibst du zunächst den neuen Inhalt hinein, der dann am Dateianfang stehen soll. Danach kannst du entweder Zeile für Zeile oder Block für Block (Blockgröße beliebig, aber aus Performancegründen im hohen kB-Bereich) aus der Originaldatei lesen und in die neue Datei schreiben.
Zum Schluss kannst du die Originaldatei löschen und die neu erzeugte passend umbenennen.

Schade aber ok. Aber wie kopiere ich Blöcke? Um es für mich nachvollziehbar zu machen, lese ich die Ausgangsdatei mit var Ausgangs_Datei = ReadAll() ein?

LG Romero