Thomas Haller: Datei öffnen und was rauslöschen ?!? wie?

Hallo!

Folgendes Problem:

Ich möchte einen file öffnen feststellen ob ein (mehrere) zeichen drin
ist/sind und diese dann löschen. Das Problem besteht nicht im
feststellen ob das Zeichen da ist sondern wie ich es wieder weg
bekomme!

Bsp.:

in der datei "test.txt" steht:

anfang

user
lustig
hallo
HTML
super
cool

EOF

so, nun möchte ich aber "hallo" nicht mehr in dieser datei stehen
haben, wie bekomme ich das "hallo" (oder HTML oder user, usw...) weg?
Also nchmals: wie bekomme ich das/die Teichen weg?

Mfg Thomas

  1. [ ... ]

    so, nun möchte ich aber "hallo" nicht mehr in dieser datei stehen
    haben, wie bekomme ich das "hallo" (oder HTML oder user, usw...) weg?
    Also nchmals: wie bekomme ich das/die Teichen weg?

    Mfg Thomas

    Grundsätzlich so:
    1. Zeile für Zeile der Datei.txt auslesen
    2. Brauchbares in die Datei.txt.tmp Zeile für Zeile schreiben
    3. Datei.txt.tmp nach Datei.txt 'moven'

    bonngrüße
    Boris

    1. Grundsätzlich so:

      1. Zeile für Zeile der Datei.txt auslesen
      2. Brauchbares in die Datei.txt.tmp Zeile für Zeile schreiben
      3. Datei.txt.tmp nach Datei.txt 'moven'

      Wehe, wenn zwei Prozesse gleichzeitig auf die Datei zugreifen!

      Viele Grüße,
      Daniel Bradler

      1. Grundsätzlich so:

        1. Zeile für Zeile der Datei.txt auslesen
        2. Brauchbares in die Datei.txt.tmp Zeile für Zeile schreiben
        3. Datei.txt.tmp nach Datei.txt 'moven'

        Wehe, wenn zwei Prozesse gleichzeitig auf die Datei zugreifen!

        Hi!

        Ein LOCK file könnte da schon weiterhelfen.

        Danke für die infos !

        Mfg Thomas

  2. Ich möchte einen file öffnen feststellen ob ein (mehrere) zeichen drin
    ist/sind und diese dann löschen. Das Problem besteht nicht im
    feststellen ob das Zeichen da ist sondern wie ich es wieder weg
    bekomme!

    Kommt darauf an. Ich habe nicht genügend Informationen, um Deine Aufgabenstellung nachzuvollziehen.

    Wenn es darum geht, bestimmte *Zeichen* zu entfernen (und noch nicht mal klar ist, ob diese jeweils innerhalb derselben Zeile auftreten), kann die Sache knifflig werden.

    Wenn es - wie in Deinem Beispiel - darum geht, eine komplette Zeile zu entfernen (oder einen Teil davon), dann kannst Du
    1. die Datei zum lesen öffnen,
    2. die Datei zeilenweise einlesen (z. B. in ein array),
    3. jede eingelesene Zeile "behandeln" (also unerwünschte Teile entfernen,
    4. die Datei schließen und zum Schreiben öffnen,
    5. den reduzierten Inhalt in die Datei schreiben und
    6. die Datei wieder schließen.

    2. und 3. lassen sich elegant kombinieren, wenn Du eine Zeile jeweils zuerst "behandelst" und danach mit push() an das Ende des Arrays anfügst (falls die Zeile nicht komplett gelöscht werden sollte).