FileStream.BeginRead メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > FileStream.BeginRead メソッドの意味・解説 

FileStream.BeginRead メソッド

非同期読み取り開始します

名前空間: System.IO
アセンブリ: 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

パラメータ

array

データ読み取るバッファ

offset

読み取り開始位置を示す array 内のバイト オフセット

numBytes

読み取る最大バイト数。

userCallback

非同期読み取り操作完了したときに呼び出されるメソッド

stateObject

この特定の非同期読み取り要求を他の要求区別するために使用するユーザー指定オブジェクト

戻り値
非同期読み取り参照する IAsyncResult。

例外例外
例外種類条件

ArgumentException

配列長から offset差し引いた値が numBytes より小さい値です。

ArgumentNullException

arraynull 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

offset または numBytes が負の値です。

IOException

ファイル末尾越え位置で、非同期読み取り試行しました。

解説解説

EndRead は、BeginRead呼び出すたびに 1 回ずつ呼び出す必要があります読み取りプロセス終了できずに別の読み取りプロセス開始すると、デッドロックなどの好ましくない動作発生することがあります

FileStream には、同期 I/O非同期 I/O2 種類操作モードありますどちらも使用できる場合に、基になるオペレーティング システム リソースはいずれかのモードでのアクセスだけを許可することがあります既定では、FileStream同期的オペレーティング システム ハンドル開きますWindows では、これによって非同期メソッド速度遅くなります非同期メソッド使用する場合は、FileStream(String,FileMode,FileAccess,FileShare,Int32,Boolean) コンストラクタ使用してください

メモメモ

現在のインスタンス読み取りサポートしているかどうか判断するには、CanRead プロパティ使用します詳細については、CanRead のトピック参照してください

ストリーム閉じている場合、または無効な引数渡した場合は、BeginRead からすぐに例外スローさます。I/O 要求中のディスク障害など、非同期読み取り要求中に発生したエラーは、スレッド プールスレッド発生しEndRead呼び出したときに可視なります

EndRead は、読み取られたバイト数を検出するために、この IAsyncResult と共に呼び出す必要があります

複数非同期要求同時に実行した場合要求完了順序不定です。

その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します

使用例使用例

次のコード例は、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
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からFileStream.BeginRead メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からFileStream.BeginRead メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からFileStream.BeginRead メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「FileStream.BeginRead メソッド」の関連用語

FileStream.BeginRead メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



FileStream.BeginRead メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS