Datei Lesen und Gleichzeit Schreiben!?



  • Hallo Leute,

    ich habe einen "FileStream", in dem ich Daten zyklisch anfüge. Gleichzeitig will ich aber aus dem "FileStream" lesen können (in einem anderen Thread).

    Ist das möglich? Da bräuchte ich ja theoretisch 2 File-Pointer oder?

    grüße


  • Administrator

    Am besten machst du zwei FileStream Objekte, ja. Vergiss aber nicht, dass du jeweils Flush aufrufen musst, wenn du sicher sein willst, dass die Daten in die Datei geschrieben werden und daher im anderen Stream gelesen werden können. Die Streams verwenden interne Puffer um die Operationen zu beschleunigen, nur ein Flush garantiert, dass diese Puffer geleert/geschrieben werden.

    Zusätzlich solltest du dir die FileShare Enumeration anschauen. Diese Werte kann man einem FileStream Konstruktor übergeben. Dadurch kannst du einen FileStream mit Read-Rechten öffnen, aber die Möglichkeit zum Schreiben nachwievor erlauben, bzw. öffnen mit Write-Rechten und das Lesen nachwievor erlauben.

    Im allgemeinen sei allerdings gesagt: Sei extrem vorsichtig bei sowas. Es gibt viele mögliche Fehlerquellen bei so einem Vorhaben.

    Grüssli



  • Hallo Dravere,

    dankeschön. Das hat mir schon sehr geholfen;)


Anmelden zum Antworten