Wie öffne ich einen StreamReader im ShareDenyWrite-Modus?

Wie öffne ich einStreamReader mitFILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE?

Gleiche Frage, leicht erweitert

Wie öffne ich einStreamReader damit ich eine verschlüsselte Textdatei mit Freigabeoptionen lesen kann, damit ein anderer Prozess die Datei lesen kann?

Wie öffne ich einStreamReader damit ich eine verschlüsselte Textdatei mit Freigabeoptionen lesen kann, damit ein anderer Prozess die Datei ändern kann, während ich sie lese?

Wie öffne ich einStreamReader damit ich eine verschlüsselte Textdatei mit Freigabeoptionen lesen kann, damit ein anderer Prozess die Datei löschen kann, während ich sie lese?

Gleiche Frage, etwas weiter gefasst

In der .NET Framework-Klassenbibliothek befindet sich eine Klasse namensStreamReader. Es ist die einzige Klasse, die zum Lesen gedacht ist"Text", weshalb es von der abstrakten Basis abstammtTextReader Klasse. DasTextReader/StreamReader Mit dieser Option können Sie die Codierung angeben, die von der zu öffnenden Datei verwendet wird. Anschließend können Sie die Datei dekodieren und kehren zurückStrings von Text.

Sobald ich eine Datei mit dem geöffnet habeStreamReader:

var sr = new StreamReader(path);

Die Datei ist gesperrt, andere Prozesse können dies nichtändern oderlöschen die Datei. Was ich brauche, ist das Äquivalent von aFileStream Klasse istFileShare Aufzählung:

Keiner: Lehnt die Freigabe der aktuellen Datei ab. Jede Anforderung zum Öffnen der Datei (durch diesen oder einen anderen Prozess) schlägt fehl, bis die Datei geschlossen wird.Lesen": Ermöglicht das spätere Öffnen der Datei zum Lesen. Wenn dieses Flag nicht angegeben ist, schlägt jede Anforderung zum Öffnen der Datei zum Lesen (durch diesen oder einen anderen Prozess) fehl, bis die Datei geschlossen wird. Selbst wenn dieses Flag angegeben ist sind möglicherweise noch zusätzliche Berechtigungen erforderlich, um auf die Datei zuzugreifen.Schreiben: Ermöglicht das spätere Öffnen der Datei zum Schreiben. Wenn dieses Flag nicht angegeben wird, schlägt jede Anforderung zum Öffnen der Datei zum Schreiben (durch diesen oder einen anderen Prozess) fehl, bis die Datei geschlossen wird. Selbst wenn dieses Flag angegeben wird, sind möglicherweise weitere Berechtigungen erforderlich, um auf die Datei zuzugreifen.Lesen Schreiben: Ermöglicht das spätere Öffnen der Datei zum Lesen oder Schreiben. Wenn dieses Flag nicht angegeben ist, schlägt die Anforderung zum Öffnen der Datei zum Lesen oder Schreiben (durch diesen oder einen anderen Prozess) fehl, bis die Datei geschlossen wird. Selbst wenn dieses Flag angegeben wird, sind möglicherweise weitere Berechtigungen erforderlich, um auf die Datei zuzugreifen.Löschen: Ermöglicht das spätere Löschen einer Datei.

Aus offensichtlichen Gründen kann ich a nicht verwendenFileStream - muss a verwendenStreamReader.

Wie kann ich eine öffnen?StreamReader mitFileShare.ReadWrite | FileShare.Delete?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage