Zeilen in txt Datei löschen
-
Aloha,
ich habe ein stinknormale txt Datei mit folgendem Aufbau von Begriffen. Pro Zeile können ein oder mehrere Begriffe stehen :
Begriffe1
Begriffe2
Begriffe3
Begriffe4
usw....Ich öffne die txt - Datei per StdioFile und lese die oberste Zeile ( Begriffe 1 ) aus.
Nun möchte ich diese nach dem Auslesen löschen, so daß die zweite Zeile ( Begriffe 2 ) nach oben rutscht.Wie kann/sollte ich da vorgehen ?
Danke und Grüße
BOA
-
Du musst die Datei lesen und alles was Du behalten möchtest in eine neue Datei schreiben. Was Du löschen möchtest ignorierst Du einfach beim schreiben. Die alte Datei löscht Du und die neue benennst Du um. So würde ich es machen. Das ist auch absturzsicher und es gibt kein Kuddelmuddel.
Es gibt keine Möglichkeit dies vernünftig in einer Datei zu machen.
Du könntest auch die selbe Datei zweimal öffnen mit dem entsprechenden share Mode. Sofern Du nur etwas löscht und nicht ersetzt sodass die neue Datei größer wird, kanns Du auch in die selbe datei weider hineinschreiben was Du behalten möchtest. AM Ende musst Du halt die Dateigröße korrigieren und den überflüssigen rest abschneiden. Dies wäre aber evtl. nicht sicher bei einem Absturz.
-
Aloha,
danke für die Antwort.
Das ist natürlich schade, da es wohl sehr zeitintensiv wird dies zu tun, da ca. 140.000 Zeilen in der Datei stehen.Vielleicht kennt ja doch noch jemand nen Trick ?!?!
Grüße
BOA
-
Da gibt es keinen Trick. Entweder du machst es so wie Martin sagt, oder du musst Zeile für Zeile ab der entsprechenden Stelle nach oben kopieren.
Ansonsten gibts noch Techniken mit ich will mal sagen "Löschbits" oder Bytes. Man markiert sich eine Zeile als gelöscht und ignoriert diese erstmal. Aber irgendwann muss man da auch mal aufräumen ...
-
Aloha,
danke für die Antwort.
Ok, also jammern nützt nichts...
Gut, teste ich mal die Performance wenn ich die Datei neu anlege.
Grüße und Danke
BAO