Re: String in .txt suchen und davor alles löschen
Verfasst: Donnerstag 5. November 2020, 15:08
Du verstehen, dass eine Datei eine sequentielle Aneinanderreihung von Bytes ist. Man kann nicht einfach aus der Mitte etwas löschen. Der Rest müsste dann nach vorne rücken um die Lücke zu schließen.
Normalerweise macht man das so, dass man eine alte Datei liest, die neue Datei (mit anderem Namen) schreibt, die alte Datei löscht und die neue Datei umbenennt. Der Vorteil ist, dass das 'relativ' sicher ist. Wenn beim Schreiben der Speicherplatz ausgeht, ist die alte Datei ja noch da.
Theoretisch könntest du die Datei auch öffnen, alle Zeilen in eine Liste speichern, die Datei schließen, die Datei zum Schreiben öffnen und die geänderten Zeilen aus der Liste schreiben.
Das ist aber eher unüblich.
Normalerweise macht man das so, dass man eine alte Datei liest, die neue Datei (mit anderem Namen) schreibt, die alte Datei löscht und die neue Datei umbenennt. Der Vorteil ist, dass das 'relativ' sicher ist. Wenn beim Schreiben der Speicherplatz ausgeht, ist die alte Datei ja noch da.
Theoretisch könntest du die Datei auch öffnen, alle Zeilen in eine Liste speichern, die Datei schließen, die Datei zum Schreiben öffnen und die geänderten Zeilen aus der Liste schreiben.
Das ist aber eher unüblich.