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
読み取る最大バイト数
返品
この入力ストリームから読み取られたバイトを含むバイト配列
- 属性
注釈
入力ストリームから指定されたバイト数まで読み取ります。 このメソッドは、要求されたバイト数が読み取られるか、ストリームの終わりが検出されるか、例外がスローされるまでブロックします。 このメソッドは、入力ストリームを閉じません。
返される配列の長さは、ストリームから読み取られたバイト数と等しくなります。
lenが 0 の場合、バイトは読み取られず、空のバイト配列が返されます。 それ以外の場合は、最大 len バイトがストリームから読み取られます。 ストリームの末尾が検出された場合、読み取ることができるバイト len 未満です。
このストリームがストリームの末尾に達すると、このメソッドをさらに呼び出すと、空のバイト配列が返されます。
このメソッドは、指定したバイト数をバイト配列に読み込むのに便利な単純なケースを対象としています。 このメソッドによって割り当てられるメモリの合計量は、ストリームから読み取られたバイト数に比例し、 lenで囲まれます。 したがって、十分なメモリが使用可能な場合は、メソッドを非常に大きな値 len 安全に呼び出すことがあります。
入力ストリームが 非同期的に閉じられたり、読み取り中にスレッドが中断されたりする場合の動作は、高度な入力ストリーム固有であるため、指定されません。
入力ストリームからの読み取りで I/O エラーが発生した場合は、一部のバイトが読み取られた後で発生する可能性がありますが、すべてではありません。 その結果、入力ストリームがストリームの最後に存在せず、不整合な状態になる可能性があります。 I/O エラーが発生した場合は、ストリームをすぐに閉じることを強くお勧めします。
11 に追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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 が返されます。
lenが 0 の場合、バイトは読み取られず、0が返されます。それ以外の場合は、最大len バイトを読み取ろうとします。
最初のバイト読み取りは要素 b[off]に格納され、次のバイト読み取りは b[off+1]に格納されます。 読み取られたバイト数は、最大で lenと同じです。
k を実際に読み取ったバイト数にします。これらのバイトは、b[off+k-1] を介してb[off]要素に格納され、要素b[off+k]b[off+len-1]影響を受けません。
入力ストリームが 非同期的に閉じられたり、読み取り中にスレッドが中断されたりする場合の動作は、高度な入力ストリーム固有であるため、指定されません。
入力ストリームからの読み取りで I/O エラーが発生した場合は、入力ストリームからのデータで更新された b のバイト数の一部 (すべてではない) の後に発生する可能性があります。 その結果、入力ストリームと b が不整合な状態になる可能性があります。 I/O エラーが発生した場合は、ストリームをすぐに閉じることを強くお勧めします。
9 に追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。