Jak otworzyć StreamReader w trybie ShareDenyWrite?

Jak otworzyć aStreamReader zFILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE?

To samo pytanie, nieco rozszerzone

Jak otworzyć aStreamReader dzięki czemu mogę odczytać zakodowany plik tekstowy z opcjami udostępniania, aby inny proces mógł odczytać plik?

Jak otworzyć aStreamReader dzięki czemu mogę odczytać zakodowany plik tekstowy z opcjami udostępniania, aby inny proces mógł zmodyfikować plik, gdy go czytam?

Jak otworzyć aStreamReader dzięki czemu mogę odczytać zakodowany plik tekstowy z opcjami udostępniania, aby inny proces mógł go usunąć podczas czytania?

To samo pytanie, nieco bardziej rozwinięte

W bibliotece klas .NET Framework znajduje się klasa o nazwieStreamReader. Jest to jedyna klasa przeznaczona do czytania"tekst"dlatego schodzi z abstrakcyjnej bazyTextReader klasa. TheTextReader/StreamReader pozwala określić kodowanie używane przez plik, który próbujesz otworzyć, i może zdekodować plik, zwracając goStrings tekstu.

Po otwarciu pliku za pomocąStreamReader:

var sr = new StreamReader(path);

Plik jest zablokowany, a inne procesy nie mogąmodyfikować lubkasować plik. Potrzebuję odpowiednika aFileStream klasyFileShare wyliczenie:

Żaden: Odrzuca udostępnianie bieżącego pliku. Każde żądanie otwarcia pliku (w tym procesie lub innym procesie) zakończy się niepowodzeniem, dopóki plik nie zostanie zamknięty.Czytać„: Pozwala na późniejsze otwarcie pliku do odczytu. Jeśli ta flaga nie zostanie określona, ​​każde żądanie otwarcia pliku do odczytu (przez ten proces lub inny proces) nie powiedzie się, dopóki plik nie zostanie zamknięty. Jednak nawet jeśli ta flaga jest określona , dodatkowe uprawnienia mogą nadal być potrzebne do uzyskania dostępu do pliku.pisać: Pozwala na późniejsze otwarcie pliku do zapisu. Jeśli ta flaga nie zostanie określona, ​​każde żądanie otwarcia pliku do zapisu (za pomocą tego procesu lub innego procesu) zakończy się niepowodzeniem, dopóki plik nie zostanie zamknięty. Jednak nawet jeśli ta flaga jest określona, ​​dodatkowe uprawnienia mogą nadal być potrzebne do uzyskania dostępu do pliku.ReadWrite: Pozwala na późniejsze otwarcie pliku do odczytu lub zapisu. Jeśli ta flaga nie zostanie określona, ​​każde żądanie otwarcia pliku do odczytu lub zapisu (za pomocą tego procesu lub innego procesu) zakończy się niepowodzeniem, dopóki plik nie zostanie zamknięty. Jednak nawet jeśli ta flaga jest określona, ​​dodatkowe uprawnienia mogą nadal być potrzebne do uzyskania dostępu do pliku.Kasować: Pozwala na późniejsze usunięcie pliku.

Tyle że z oczywistych powodów nie mogę użyćFileStream - musisz użyćStreamReader.

Jak mogę otworzyćStreamReader zFileShare.ReadWrite | FileShare.Delete?

questionAnswers(2)

yourAnswerToTheQuestion