InputStream.ReadNBytes メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
ReadNBytes(Int32) |
入力ストリームから、指定したバイト数まで読み取ります。 |
ReadNBytes(Byte[], Int32, Int32) |
入力ストリームから指定されたバイト配列に要求されたバイト数を読み取ります。 |
ReadNBytes(Int32)
入力ストリームから、指定したバイト数まで読み取ります。
[Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)]
public virtual byte[]? ReadNBytes (int len);
[<Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)>]
abstract member ReadNBytes : int -> byte[]
override this.ReadNBytes : int -> byte[]
パラメーター
- len
- Int32
読み取る最大バイト数
戻り値
この入力ストリームから読み取られたバイトを含むバイト配列
- 属性
注釈
入力ストリームから、指定したバイト数まで読み取ります。 このメソッドは、要求されたバイト数が読み取られるか、ストリームの終わりが検出されるか、例外がスローされるまでブロックします。 このメソッドは、入力ストリームを閉じません。
返される配列の長さは、ストリームから読み取られたバイト数と等しくなります。 が 0 の場合 len
、バイトは読み取られず、空のバイト配列が返されます。 それ以外の場合は、最大 len
バイトがストリームから読み取られます。 ストリームの末尾が見つかった場合、読み取ることができるバイト数より len
少ない。
このストリームがストリームの末尾に達すると、このメソッドをさらに呼び出すと、空のバイト配列が返されます。
このメソッドは、指定したバイト数をバイト配列に読み込むのに便利な単純なケースを対象としています。 このメソッドによって割り当てられるメモリの合計量は、 で len
囲まれたストリームから読み取られたバイト数に比例します。 したがって、十分なメモリが使用可能な場合、メソッドは非常に大きな値で len
安全に呼び出される可能性があります。
入力ストリームが 非同期的に閉じている場合、または読み取り中にスレッドが中断された場合の動作は、高度な入力ストリーム固有であるため、指定されていません。
入力ストリームからの読み取りで I/O エラーが発生した場合は、一部のバイトが読み取られた後 (すべてではない) 場合があります。 そのため、入力ストリームはストリームの末尾になく、不整合な状態になる可能性があります。 I/O エラーが発生した場合は、ストリームを速やかに閉じることを強くお勧めします。
11 に追加されました。
の Java ドキュメント java.io.InputStream.readNBytes(int)
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
ReadNBytes(Byte[], Int32, Int32)
入力ストリームから指定されたバイト配列に要求されたバイト数を読み取ります。
[Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)]
public virtual int ReadNBytes (byte[]? b, int off, int len);
[<Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)>]
abstract member ReadNBytes : byte[] * int * int -> int
override this.ReadNBytes : byte[] * int * int -> int
パラメーター
- b
- Byte[]
データの読み取り先のバイト配列
- off
- Int32
データが書き込まれる開始オフセットb
- len
- Int32
読み取る最大バイト数
戻り値
バッファーに読み込まれる実際のバイト数
- 属性
注釈
入力ストリームから指定されたバイト配列に要求されたバイト数を読み取ります。 このメソッドは、入力データのバイト数が読み取られるか、ストリームの終わりが検出されるか、例外がスローされるまで len
ブロックします。 実際に読み取られたバイト数 (場合によっては 0) が返されます。 このメソッドは、入力ストリームを閉じません。
バイトが読み取られる前にストリームの終了に len
達した場合は、読み取られた実際のバイト数が返されます。 このストリームがストリームの末尾に達すると、このメソッドをさらに呼び出すと 0 が返されます。
が 0 の場合、バイトは読み取0
られず、返されます。それ以外の場合len
は、最大バイト数のlen
読み取りが試行されます。
最初のバイト読み取りは 要素 b[off]
に格納され、次のバイトは に b[off+1]
格納されます。 読み取られたバイト数は、最大で と len
同じです。 k を実際に読み取ったバイト数にします。これらのバイトは k を通じて-1]
b[off+
要素b[off]
に格納され、要素 b[off+
k]
は影響をb[off+len-1]
受けません。
入力ストリームが 非同期的に閉じている場合、または読み取り中にスレッドが中断された場合の動作は、高度な入力ストリーム固有であるため、指定されていません。
入力ストリームからの読み取りで I/O エラーが発生した場合は、入力ストリームからのデータを使用して のバイト数 b
が更新された後に発生する可能性があります(すべてではありません)。 その結果、入力ストリームと b
が不整合な状態になる可能性があります。 I/O エラーが発生した場合は、ストリームを速やかに閉じることを強くお勧めします。
9 に追加されました。
の Java ドキュメント java.io.InputStream.readNBytes(byte[], int, int)
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。