、、でStreamReader
を開くにはどうすればよいですか?FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
同じ質問、少し拡大
StreamReader
別のプロセスがファイルを読み取ることができるように共有オプションを使用して、エンコードされたテキストファイルを読み取ることができるようにを開くにはどうすればよいですか?
エンコードされたテキストファイルを読み取ることができるように、共有オプションを使用してを開き、StreamReader
別のプロセスがファイルを読み取っている間にファイルを変更できるようにするにはどうすればよいですか?
StreamReader
エンコードされたテキストファイルを読み取ることができるように、共有オプションを使用してを開き、別のプロセスがファイルの読み取り中にファイルを削除できるようにするにはどうすればよいですか?
同じ質問、もう少し拡張
.NET Frameworkクラスライブラリには、。というクラスがありStreamReader
ます。これは「テキスト」を読み取るように設計された唯一のクラスであり、それが抽象基本TextReader
クラスの子孫である理由です。を使用TextReader/StreamReader
すると、開こうとしているファイルで使用されているエンコーディングを指定でき、ファイルをデコードしてStrings
テキストを返すことができます。
StreamReader
:でファイルを開いたら
var sr = new StreamReader(path);
ファイルはロックされており、他のプロセスはファイルを変更または削除できません。私が必要としているのは、FileStream
クラスのFileShare
列挙に相当するものです。
- なし:現在のファイルの共有を拒否します。(このプロセスまたは別のプロセスによる)ファイルを開く要求は、ファイルが閉じられるまで失敗します。
- 読み取り":読み取りのためにファイルを後で開くことを許可します。このフラグが指定されていない場合、(このプロセスまたは別のプロセスによる)読み取りのためにファイルを開く要求は、ファイルが閉じられるまで失敗します。ただし、このフラグが指定した場合でも、ファイルにアクセスするには追加の権限が必要になる場合があります。
- 書き込み:書き込みのためにファイルを後で開くことができます。このフラグが指定されていない場合、(このプロセスまたは別のプロセスによる)書き込みのためにファイルを開く要求は、ファイルが閉じられるまで失敗します。ただし、このフラグが指定されている場合でも、ファイルにアクセスするには追加のアクセス許可が必要になる場合があります。
- ReadWrite:読み取りまたは書き込みのためにファイルを後で開くことができます。このフラグが指定されていない場合、(このプロセスまたは別のプロセスによって)読み取りまたは書き込みのためにファイルを開く要求は、ファイルが閉じられるまで失敗します。ただし、このフラグが指定されている場合でも、ファイルにアクセスするには追加のアクセス許可が必要になる場合があります。
- 削除:ファイルの後続の削除を許可します。
明らかな理由で、私は-を使用できないことを除いて、FileStream
-を使用する必要がありStreamReader
ます。
でを開くにはどうすればよいStreamReader
ですFileShare.ReadWrite | FileShare.Delete
か?