InputStream.ReadNBytes 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
ReadNBytes(Int32) |
Liest bis zu einer angegebenen Anzahl von Bytes aus dem Eingabedatenstrom. |
ReadNBytes(Byte[], Int32, Int32) |
Liest die angeforderte Anzahl von Bytes aus dem Eingabedatenstrom in das angegebene Bytearray. |
ReadNBytes(Int32)
Liest bis zu einer angegebenen Anzahl von Bytes aus dem Eingabedatenstrom.
[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[]
Parameter
- len
- Int32
die maximale Anzahl der zu lesenden Bytes
Gibt zurück
ein Bytearray, das die aus diesem Eingabedatenstrom gelesenen Bytes enthält
- Attribute
Hinweise
Liest bis zu einer angegebenen Anzahl von Bytes aus dem Eingabedatenstrom. Diese Methode blockiert, bis die angeforderte Anzahl von Bytes gelesen wurde, das Ende des Datenstroms erkannt wird oder eine Ausnahme ausgelöst wird. Mit dieser Methode wird der Eingabedatenstrom nicht geschlossen.
Die Länge des zurückgegebenen Arrays entspricht der Anzahl der aus dem Datenstrom gelesenen Bytes. Wenn len
null ist, werden keine Bytes gelesen, und ein leeres Bytearray wird zurückgegeben. Andernfalls werden bis zu len
Bytes aus dem Datenstrom gelesen. Weniger als len
Bytes können gelesen werden, wenn das Ende des Datenstroms auftritt.
Wenn dieser Datenstrom das Ende des Datenstroms erreicht, geben weitere Aufrufe dieser Methode ein leeres Bytearray zurück.
Beachten Sie, dass diese Methode für einfache Fälle vorgesehen ist, in denen es praktisch ist, die angegebene Anzahl von Bytes in ein Bytearray zu lesen. Die von dieser Methode zugewiesene Gesamtmenge des Arbeitsspeichers ist proportional zur Anzahl der Bytes, die aus dem Datenstrom gelesen werden, der an len
. Daher kann die Methode sicher mit sehr großen Werten aufgerufen werden, wenn len
genügend Arbeitsspeicher verfügbar ist.
Das Verhalten für den Fall, dass der Eingabedatenstrom asynchron geschlossen wird oder der Thread während des Lesens unterbrochen wird, ist hocheingabedatenstromspezifisch und daher nicht angegeben.
Wenn ein E/A-Fehler beim Lesen aus dem Eingabedatenstrom auftritt, kann dies nach einigen, aber nicht allen Byte gelesen werden. Folglich befindet sich der Eingabedatenstrom möglicherweise nicht am Ende des Datenstroms und befindet sich möglicherweise in einem inkonsistenten Zustand. Es wird dringend empfohlen, dass der Datenstrom umgehend geschlossen wird, wenn ein E/A-Fehler auftritt.
In 11 hinzugefügt.
Java-Dokumentation für java.io.InputStream.readNBytes(int)
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
ReadNBytes(Byte[], Int32, Int32)
Liest die angeforderte Anzahl von Bytes aus dem Eingabedatenstrom in das angegebene Bytearray.
[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
Parameter
- b
- Byte[]
bytearray, in das die Daten gelesen werden
- off
- Int32
start offset in b
which the data is written
- len
- Int32
die maximale Anzahl der zu lesenden Bytes
Gibt zurück
die tatsächliche Anzahl der in den Puffer gelesenen Bytes
- Attribute
Hinweise
Liest die angeforderte Anzahl von Bytes aus dem Eingabedatenstrom in das angegebene Bytearray. Diese Methode blockiert, bis len
Bytes von Eingabedaten gelesen wurden, das Ende des Datenstroms erkannt wird oder eine Ausnahme ausgelöst wird. Die Anzahl der tatsächlich gelesenen Bytes, möglicherweise Null, wird zurückgegeben. Mit dieser Methode wird der Eingabedatenstrom nicht geschlossen.
Wenn das Ende des Datenstroms erreicht ist, bevor len
Bytes gelesen wurden, wird die tatsächliche Anzahl der gelesenen Bytes zurückgegeben. Wenn dieser Datenstrom das Ende des Datenstroms erreicht, werden weitere Aufrufe dieser Methode null zurückgegeben.
Wenn len
null ist, werden keine Bytes gelesen und 0
zurückgegeben. Andernfalls wird versucht, bis zu Bytes zu len
lesen.
Der erste Bytelesevorgang wird in Element b[off]
gespeichert, dem nächsten b[off+1]
in und so weiter. Die Anzahl der gelesenen Bytes ist höchstens gleich len
. Lassen Sie k die Anzahl der Bytes sein, die tatsächlich gelesen werden; diese Bytes werden in Elementen b[off]
überb[off+
k-1]
gespeichert, sodass Elemente b[off+
k]
nicht b[off+len-1]
betroffen sind.
Das Verhalten für den Fall, dass der Eingabedatenstrom asynchron geschlossen wird oder der Thread während des Lesens unterbrochen wird, ist hocheingabedatenstromspezifisch und daher nicht angegeben.
Wenn ein E/A-Fehler beim Lesen aus dem Eingabedatenstrom auftritt, kann dies nach einigen, aber nicht allen Byte b
mit Daten aus dem Eingabedatenstrom aktualisiert werden. Folglich befindet sich der Eingabedatenstrom und b
kann sich in einem inkonsistenten Zustand befinden. Es wird dringend empfohlen, dass der Datenstrom umgehend geschlossen wird, wenn ein E/A-Fehler auftritt.
Hinzugefügt in 9.
Java-Dokumentation für java.io.InputStream.readNBytes(byte[], int, int)
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.