次の方法で共有


InputStream.ReadNBytes メソッド

定義

オーバーロード

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

読み取る最大バイト数

戻り値

Byte[]

この入力ストリームから読み取られたバイトを含むバイト配列

属性

注釈

入力ストリームから指定されたバイト数まで読み取ります。 このメソッドは、要求されたバイト数が読み取られるか、ストリームの末尾が検出されるか、例外がスローされるまでブロックします。 このメソッドは、入力ストリームを閉じません。

返される配列の長さは、ストリームから読み取られたバイト数と等しくなります。 0 の場合 len 、バイトは読み取られず、空のバイト配列が返されます。 それ以外の場合は、最大 len バイトがストリームから読み取られます。 ストリームの末尾が検出された場合、読み取ることができるバイト数より len 少ない。

このストリームがストリームの末尾に達すると、このメソッドをさらに呼び出すと、空のバイト配列が返されます。

このメソッドは、指定したバイト数をバイト配列に読み込むのに便利な単純なケースを対象としています。 このメソッドによって割り当てられるメモリの合計量は、ストリーム lenから読み取られたバイト数に比例します。 したがって、十分なメモリが使用可能な場合、メソッドは非常に大きな値 len で安全に呼び出される可能性があります。

入力ストリーム が非同期的に閉じられたり、読み取り中にスレッドが中断されたりする場合の動作は、高度な入力ストリーム固有であるため、指定されません。

入力ストリームからの読み取りで I/O エラーが発生した場合は、一部のバイトが読み取られた後に発生する可能性がありますが、すべてではありません。 その結果、入力ストリームがストリームの最後に存在せず、不整合な状態になる可能性があります。 I/O エラーが発生した場合は、ストリームをすぐに閉じることを強くお勧めします。

11 に追加されました。

の Java ドキュメントjava.io.InputStream.readNBytes(int)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象

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)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象