MemoryStream.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Read(Span<Byte>) |
現在のメモリ ストリームからバイト シーケンスを読み取り、読み取ったバイト数だけメモリ ストリーム内の位置を進めます。 |
Read(Byte[], Int32, Int32) |
現在のストリームからバイトのブロックを読み取り、データをバッファーに書き込みます。 |
Read(Span<Byte>)
- ソース:
- MemoryStream.cs
- ソース:
- MemoryStream.cs
- ソース:
- MemoryStream.cs
現在のメモリ ストリームからバイト シーケンスを読み取り、読み取ったバイト数だけメモリ ストリーム内の位置を進めます。
public:
override int Read(Span<System::Byte> destination);
public:
override int Read(Span<System::Byte> buffer);
public override int Read (Span<byte> destination);
public override int Read (Span<byte> buffer);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
パラメーター
メモリの領域。 このメソッドから制御が戻るときに、このスパンの内容は、現在のメモリ ストリーム ソースから読み取られたバイトに置き換えられます。
戻り値
バッファーに読み取られた合計バイト数。 要求しただけのバイト数を読み取ることができなかった場合、この値はバッファーに割り当てられているバイト数より小さくなります。メモリ ストリームの末尾に到達した場合は 0 (ゼロ) になることがあります。
適用対象
Read(Byte[], Int32, Int32)
- ソース:
- MemoryStream.cs
- ソース:
- MemoryStream.cs
- ソース:
- MemoryStream.cs
現在のストリームからバイトのブロックを読み取り、データをバッファーに書き込みます。
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
パラメーター
- buffer
- Byte[]
このメソッドが戻るとき、指定したバイト配列の offset
から (offset
+ count
- 1) までの値が、現在のストリームから読み取られた文字に置き換えられています。
- offset
- Int32
現在のストリームからのデータの格納を開始する位置を示す buffer
内のバイト オフセット。インデックス番号は 0 から始まります。
- count
- Int32
読み取る最大バイト数。
戻り値
バッファーに書き込まれた合計バイト数。 要求しただけのバイト数を読み取ることができなかった場合、この値は要求したバイト数より小さくなります。また、データを読み取る前にストリームの末尾に到達した場合は 0 になります。
例外
buffer
が null
です。
offset
または count
が負の値です。
バッファー長から offset
を差し引いた値が count
より小さい値です。
現在のストリーム インスタンスが閉じています。
例
このコード例は、MemoryStream クラスのために提供されている大規模な例の一部です。
// Read the first 20 bytes from the stream.
byteArray = gcnew array<Byte>(memStream->Length);
count = memStream->Read( byteArray, 0, 20 );
// Read the first 20 bytes from the stream.
byteArray = new byte[memStream.Length];
count = memStream.Read(byteArray, 0, 20);
' Read the first 20 bytes from the stream.
byteArray = _
New Byte(CType(memStream.Length, Integer)){}
count = memStream.Read(byteArray, 0, 20)
注釈
このメソッドは、Read をオーバーライドします。
パラメーターは offset
、現在のストリームからのデータが書き込まれる最初のバイトの buffer
オフセットを指定します。 パラメーターは count
、現在のストリームから読み取る最大バイト数を指定します。 返される値は、読み取られた実際のバイト数です。ストリームの末尾に達した場合は 0 です。
読み取り操作が成功した場合、ストリーム内の現在の位置は、読み取られたバイト数だけ進みます。 例外が発生した場合、ストリーム内の現在の位置は変更されません。
メソッドは Read
、ストリームの末尾に達した場合にのみ 0 を返します。 それ以外の場合は、 Read
返す前に常にストリームから少なくとも 1 バイトを読み取ります。 定義上、 のRead
Read
呼び出し時にストリームから使用できるデータがない場合、メソッドは 0 を返します (ストリームの末尾に自動的に到達します)。 実装では、ストリームの末尾に達していない場合でも、要求されたバイト数よりも少ないバイト数を自由に返します。
プリミティブ データ型を読み取る場合に 使用 BinaryReader します。
注意事項
パラメーターで buffer
指定されたバイト配列が メソッドによって GetBuffer 返される基になるバッファーである場合、配列の内容は上書きされ、例外はスローされません。
こちらもご覧ください
適用対象
.NET