MemoryStream.Read Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
Read(Span<Byte>) |
Liest eine Bytesequenz aus dem aktuellen Speicherdatenstrom und setzt die Position in diesem Speicherdatenstrom um die Anzahl der gelesenen Bytes nach vorn. |
Read(Byte[], Int32, Int32) |
Liest einen Byteblock aus dem aktuellen Stream und schreibt die Daten in einen Puffer. |
Read(Span<Byte>)
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
Liest eine Bytesequenz aus dem aktuellen Speicherdatenstrom und setzt die Position in diesem Speicherdatenstrom um die Anzahl der gelesenen Bytes nach vorn.
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
Parameter
Ein Bereich im Arbeitsspeicher. Nach Ausführung dieser Methode wurden die Inhalte dieser Spanne durch die aus der aktuellen Speicherdatenstrom-Quelle gelesenen Bytes ersetzt.
Gibt zurück
Die Gesamtanzahl der in den Puffer gelesenen Bytes. Dies kann weniger als die Anzahl der im Puffer zugeordneten Bytes sein, wenn diese Anzahl an Bytes derzeit nicht verfügbar ist, oder 0 (null), wenn das Ende des Speicherdatenstroms erreicht ist.
Gilt für:
Read(Byte[], Int32, Int32)
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
Liest einen Byteblock aus dem aktuellen Stream und schreibt die Daten in einen Puffer.
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
Parameter
- buffer
- Byte[]
Enthält nach dem Beenden dieser Methode das angegebene Bytearray mit den Werten zwischen offset
und (offset
+ count
- 1), die durch aus dem aktuellen Stream gelesene Zeichen ersetzt wurden.
- offset
- Int32
Der nullbasierte Byteoffset im buffer
, ab dem die Daten aus dem aktuellen Stream gespeichert werden.
- count
- Int32
Die maximale Anzahl der zu lesenden Bytes.
Gibt zurück
Die Gesamtanzahl der in den Puffer geschriebenen Bytes. Dies kann weniger als die Anzahl der angeforderten Bytes sein, wenn diese Anzahl an Bytes derzeit nicht verfügbar ist, oder null, wenn das Ende des Streams erreicht ist, bevor mindestens ein Byte gelesen wurde.
Ausnahmen
buffer
ist null
.
offset
oder count
ist ein negativer Wert.
offset
subtrahiert von der Pufferlänge ist kleiner als count
.
Der aktuelle Instanz des Streams ist geschlossen.
Beispiele
Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die MemoryStream-Klasse bereitgestellt wird.
// 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)
Hinweise
Diese Methode überschreibt Read.
Der offset
-Parameter gibt den Offset des ersten Byte an, in buffer
das Daten aus dem aktuellen Stream geschrieben werden. Der count
Parameter gibt die maximale Anzahl von Bytes an, die aus dem aktuellen Stream gelesen werden sollen. Der zurückgegebene Wert ist die tatsächliche Anzahl gelesener Bytes oder null, wenn das Ende des Datenstroms erreicht ist.
Wenn der Lesevorgang erfolgreich ist, wird die aktuelle Position im Stream um die Anzahl der gelesenen Bytes erhöht. Wenn eine Ausnahme auftritt, bleibt die aktuelle Position im Stream unverändert.
Die Read
-Methode gibt nur dann null zurück, wenn das Ende des Datenstroms erreicht ist. In allen anderen Fällen Read
liest vor der Rückgabe immer mindestens ein Byte aus dem Stream. Wenn bei einem Aufruf Read
von keine Daten aus dem Stream verfügbar sind, gibt die Read
Methode per Definition null zurück (das Ende des Datenstroms wird automatisch erreicht). Eine Implementierung kann auch dann weniger Bytes zurückgeben als angefordert, wenn das Ende des Datenstroms nicht erreicht wurde.
Verwenden Sie zum BinaryReader Lesen primitiver Datentypen.
Achtung
Wenn das im Parameter angegebene Bytearray der buffer
zugrunde liegende Puffer ist, der von der GetBuffer -Methode zurückgegeben wird, wird der Arrayinhalt überschrieben, und es wird keine Ausnahme ausgelöst.
Weitere Informationen
- Datei- und Stream-E/A
- How to: Lesen von Text aus einer Datei
- How to: Schreiben von Text in eine Datei