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
| Name | Beschreibung |
|---|---|
| Read(Span<Byte>) |
Liest eine Abfolge von Bytes aus dem aktuellen Speicherdatenstrom und wechselt die Position innerhalb des Speicherstroms um die Anzahl der gelesenen Bytes. |
| Read(Byte[], Int32, Int32) |
Liest einen Byteblock aus dem aktuellen Datenstrom und schreibt die Daten in einen Puffer. |
Read(Span<Byte>)
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
Liest eine Abfolge von Bytes aus dem aktuellen Speicherdatenstrom und wechselt die Position innerhalb des Speicherstroms um die Anzahl der gelesenen Bytes.
public:
override int Read(Span<System::Byte> buffer);
public:
override int Read(Span<System::Byte> destination);
public override int Read(Span<byte> buffer);
public override int Read(Span<byte> destination);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Parameter
Ein Speicherbereich. Wenn diese Methode zurückgegeben wird, werden die Inhalte dieser Spanne durch die Bytes ersetzt, die aus der aktuellen Speicherstreamquelle gelesen werden.
Gibt zurück
Die Gesamtanzahl der in den Puffer gelesenen Bytes. Dies kann kleiner als die Anzahl der im Puffer zugewiesenen Bytes sein, wenn viele Bytes derzeit nicht verfügbar sind, oder Null (0), wenn das Ende des Speicherdatenstroms erreicht wurde.
Gilt für:
Read(Byte[], Int32, Int32)
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
- Quelle:
- MemoryStream.cs
Liest einen Byteblock aus dem aktuellen Datenstrom 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[]
Wenn diese Methode zurückgegeben wird, enthält das angegebene Bytearray mit den Werten zwischen offset und (offset + count - 1), die durch die zeichen ersetzt werden, die aus dem aktuellen Datenstrom gelesen werden.
- offset
- Int32
Der nullbasierte Byte-Offset, in buffer dem mit dem Speichern von Daten aus dem aktuellen Datenstrom begonnen werden soll.
- count
- Int32
Die maximale Anzahl der zu lesenden Bytes.
Gibt zurück
Die Gesamtanzahl der in den Puffer geschriebenen Bytes. Dies kann kleiner als die Anzahl der angeforderten Bytes sein, wenn diese Anzahl von Bytes derzeit nicht verfügbar ist, oder null, wenn das Ende des Datenstroms erreicht ist, bevor Bytes gelesen werden.
Ausnahmen
buffer ist null.
offset oder count ist negativ.
offset Subtrahiert von der Pufferlänge ist kleiner als count.
Die aktuelle Streaminstanz wird 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 = 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 Bytes an, in buffer das Daten aus dem aktuellen Datenstrom geschrieben werden. Der count Parameter gibt die maximale Anzahl von Bytes an, die aus dem aktuellen Datenstrom gelesen werden sollen. Der zurückgegebene Wert ist die tatsächliche Anzahl der gelesenen Bytes oder Null, wenn das Ende des Datenstroms erreicht ist.
Wenn der Lesevorgang erfolgreich ist, wechselt die aktuelle Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes. Wenn eine Ausnahme auftritt, bleibt die aktuelle Position innerhalb des Datenstroms unverändert.
Die Read Methode gibt nur null zurück, wenn das Ende des Datenstroms erreicht ist. In allen anderen Fällen Read wird vor der Rückgabe immer mindestens ein Byte aus dem Datenstrom gelesen. Wenn bei einem Aufruf Readvon keine Daten aus dem Datenstrom verfügbar sind, gibt die Read Methode null zurück (das Ende des Datenstroms wird automatisch erreicht). Eine Implementierung kann weniger Bytes zurückgeben als angefordert, auch wenn das Ende des Datenstroms nicht erreicht wurde.
Wird zum Lesen primitiver Datentypen verwendet BinaryReader .
Vorsicht
Wenn das im buffer Parameter angegebene Bytearray der zugrunde liegende Puffer ist, der von der GetBuffer Methode zurückgegeben wird, werden die Arrayinhalte überschrieben, und es wird keine Ausnahme ausgelöst.
Weitere Informationen
- Datei- und Stream-E/A
- Vorgehensweise: Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei