C# でファイルの読み取りと書き込みを同時に行う
ファイルを操作するとき、読み取りと書き込みの両方が必要になることがよくあります。ファイル。ただし、次のコード スニペットはこれを実行しようとしますが、失敗します。
static void Main(string[] args) { StreamReader sr = new StreamReader(@"C:\words.txt"); StreamWriter sw = new StreamWriter(@"C:\words.txt"); }
このコードは、読み取りと書き込みに別のストリームを使用するため失敗します。これは、両方のストリームを明示的に指定せずに同じファイルに対して許可されません。
ファイルの読み取りと書き込みを同時に行うには、読み取りと書き込みの両方に開いている単一のストリームを使用する必要があります。これは、FileStream クラスを使用して実現できます。
FileStream fileStream = new FileStream( @"c:\words.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
FileMode.OpenOrCreate パラメータは、ファイルが存在しない場合にファイルを開くか作成する必要があることを指定します。
FileAccess.ReadWrite パラメータは次のことを指定します。ファイルは読み取りと書き込みの両方で開かれる必要があります。
FileShare.None パラメーターは、他のプロセスが存在しないことを指定します。ファイルが開いている間、ファイルの読み取りまたは書き込みを許可する必要があります。
FileStream を作成したら、Read() メソッドと Write() メソッドを使用してファイルの読み取りと書き込みを行うことができます。それぞれ。
以上がC# でファイルの読み取りと書き込みを同時に行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。