FileStream.BeginRead メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Public Overrides Function BeginRead ( _ array As Byte(), _ offset As Integer, _ numBytes As Integer, _ userCallback As AsyncCallback, _ stateObject As Object _ ) As IAsyncResult
Dim instance As FileStream Dim array As Byte() Dim offset As Integer Dim numBytes As Integer Dim userCallback As AsyncCallback Dim stateObject As Object Dim returnValue As IAsyncResult returnValue = instance.BeginRead(array, offset, numBytes, userCallback, stateObject)
public override IAsyncResult BeginRead ( byte[] array, int offset, int numBytes, AsyncCallback userCallback, Object stateObject )
public: virtual IAsyncResult^ BeginRead ( array<unsigned char>^ array, int offset, int numBytes, AsyncCallback^ userCallback, Object^ stateObject ) override
public IAsyncResult BeginRead ( byte[] array, int offset, int numBytes, AsyncCallback userCallback, Object stateObject )
public override function BeginRead ( array : byte[], offset : int, numBytes : int, userCallback : AsyncCallback, stateObject : Object ) : IAsyncResult
戻り値
非同期の読み取りを参照する IAsyncResult。


EndRead は、BeginRead を呼び出すたびに 1 回ずつ呼び出す必要があります。読み取りプロセスを終了できずに別の読み取りプロセスを開始すると、デッドロックなどの好ましくない動作が発生することがあります。
FileStream には、同期 I/O と非同期 I/O の 2 種類の操作モードがあります。どちらも使用できる場合に、基になるオペレーティング システム リソースはいずれかのモードでのアクセスだけを許可することがあります。既定では、FileStream は同期的にオペレーティング システム ハンドルを開きます。Windows では、これによって非同期メソッドの速度が遅くなります。非同期メソッドを使用する場合は、FileStream(String,FileMode,FileAccess,FileShare,Int32,Boolean) コンストラクタを使用してください。
![]() |
---|
現在のインスタンスが読み取りをサポートしているかどうかを判断するには、CanRead プロパティを使用します。詳細については、CanRead のトピックを参照してください。 |
ストリームが閉じている場合、または無効な引数を渡した場合は、BeginRead からすぐに例外がスローされます。I/O 要求中のディスク障害など、非同期読み取りの要求中に発生したエラーは、スレッド プールのスレッドで発生し、EndRead を呼び出したときに可視になります。
![]() |
---|
Windows では、64 KB 未満のすべての I/O 操作を同期的に実行した方がパフォーマンスが高くなります。非同期 I/O は、64 KB 未満のバッファ サイズでのパフォーマンスを低下させることがあります。 |
EndRead は、読み取られたバイト数を検出するために、この IAsyncResult と共に呼び出す必要があります。
複数の非同期要求を同時に実行した場合、要求の完了順序は不定です。
その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
File.AppendText FileInfo.AppendText | |
File.Move FileInfo.MoveTo | |
File.Copy FileInfo.CopyTo | |
FileInfo.Length | |
File.GetAttributes | |
File.SetAttributes | |
Directory.CreateDirectory Directory.CreateDirectory |

次のコード例は、FileStream(String,FileMode,FileAccess,FileShare,Int32,Boolean) コンストラクタの例の一部です。
Private Shared Sub EndWriteCallback(asyncResult As IAsyncResult) Dim tempState As State = _ DirectCast(asyncResult.AsyncState, State) Dim fStream As FileStream = tempState.FStream fStream.EndWrite(asyncResult) ' Asynchronously read back the written data. fStream.Position = 0 asyncResult = fStream.BeginRead( _ tempState.ReadArray, 0 , tempState.ReadArray.Length, _ AddressOf EndReadCallback, tempState) ' Concurrently do other work, such as ' logging the write operation. End Sub
static void EndWriteCallback(IAsyncResult asyncResult) { State tempState = (State)asyncResult.AsyncState; FileStream fStream = tempState.FStream; fStream.EndWrite(asyncResult); // Asynchronously read back the written data. fStream.Position = 0; asyncResult = fStream.BeginRead( tempState.ReadArray, 0 , tempState.ReadArray.Length, new AsyncCallback(EndReadCallback), tempState); // Concurrently do other work, such as // logging the write operation. }
static void EndWriteCallback( IAsyncResult^ asyncResult ) { State^ tempState = dynamic_cast<State^>(asyncResult->AsyncState); FileStream^ fStream = tempState->FStream; fStream->EndWrite( asyncResult ); // Asynchronously read back the written data. fStream->Position = 0; asyncResult = fStream->BeginRead( tempState->ReadArray, 0, tempState->ReadArray->Length, gcnew AsyncCallback( &FStream::EndReadCallback ), tempState ); // Concurrently do other work, such as // logging the write operation. } };
static void EndWriteCallback(IAsyncResult asyncResult) { State tempState = ((State)(asyncResult.get_AsyncState())); FileStream fStream = tempState.get_FStream(); fStream.EndWrite(asyncResult); // Asynchronously read back the written data. fStream.set_Position(0); asyncResult = fStream.BeginRead(tempState.get_ReadArray(), 0, tempState.get_ReadArray().length , new AsyncCallback(EndReadCallback), tempState); // Concurrently do other work, such as // logging the write operation. } //EndWriteCallback

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からFileStream.BeginRead メソッドを検索する場合は、下記のリンクをクリックしてください。

- FileStream.BeginRead メソッドのページへのリンク