InputStream.ReadNBytes Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
ReadNBytes(Int32) |
Lit jusqu’à un nombre spécifié d’octets à partir du flux d’entrée. |
ReadNBytes(Byte[], Int32, Int32) |
Lit le nombre demandé d’octets du flux d’entrée dans le tableau d’octets donné. |
ReadNBytes(Int32)
Lit jusqu’à un nombre spécifié d’octets à partir du flux d’entrée.
[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[]
Paramètres
- len
- Int32
nombre maximal d’octets à lire
Retours
tableau d’octets contenant les octets lus à partir de ce flux d’entrée
- Attributs
Remarques
Lit jusqu’à un nombre spécifié d’octets à partir du flux d’entrée. Cette méthode bloque jusqu’à ce que le nombre demandé d’octets ait été lu, que la fin du flux soit détectée ou qu’une exception soit levée. Cette méthode ne ferme pas le flux d’entrée.
La longueur du tableau retourné est égale au nombre d’octets lus à partir du flux. Si len
la valeur est égale à zéro, aucun octet n’est lu et un tableau d’octets vide est retourné. Sinon, jusqu’à len
bytes sont lus à partir du flux. Moins len
d’octets peuvent être lus si la fin du flux est rencontrée.
Lorsque ce flux atteint la fin du flux, d’autres appels de cette méthode retournent un tableau d’octets vide.
Notez que cette méthode est destinée aux cas simples où il est pratique de lire le nombre spécifié d’octets dans un tableau d’octets. La quantité totale de mémoire allouée par cette méthode est proportionnelle au nombre d’octets lus à partir du flux qui est limité par len
. Par conséquent, la méthode peut être appelée en toute sécurité avec des valeurs très volumineuses de len
mémoire suffisante fournie.
Le comportement pour le cas où le flux d’entrée est fermé de manière asynchrone, ou le thread interrompu pendant la lecture, est très spécifique au flux d’entrée et n’est donc pas spécifié.
Si une erreur d’E/S se produit lors de la lecture à partir du flux d’entrée, elle peut le faire une fois que certains octets ont été lus, mais pas tous. Par conséquent, le flux d’entrée peut ne pas être à la fin du flux et peut être dans un état incohérent. Il est fortement recommandé de fermer rapidement le flux si une erreur d’E/S se produit.
Ajouté dans 11.
Documentation Java pour java.io.InputStream.readNBytes(int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
ReadNBytes(Byte[], Int32, Int32)
Lit le nombre demandé d’octets du flux d’entrée dans le tableau d’octets donné.
[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
Paramètres
- b
- Byte[]
tableau d’octets dans lequel les données sont lues
- off
- Int32
décalage de début dans b
lequel les données sont écrites
- len
- Int32
nombre maximal d’octets à lire
Retours
nombre réel d’octets lus dans la mémoire tampon
- Attributs
Remarques
Lit le nombre demandé d’octets du flux d’entrée dans le tableau d’octets donné. Cette méthode bloque jusqu’à ce que len
les octets des données d’entrée aient été lus, que la fin du flux soit détectée ou qu’une exception soit levée. Le nombre d’octets en réalité lus, éventuellement zéro, est retourné. Cette méthode ne ferme pas le flux d’entrée.
Dans le cas où la fin du flux est atteinte avant len
que les octets aient été lus, le nombre réel d’octets lus est retourné. Lorsque ce flux atteint la fin du flux, d’autres appels de cette méthode retournent zéro.
Si len
la valeur est égale à zéro, aucun octet n’est lu et 0
est retourné ; sinon, il existe une tentative de lecture jusqu’à len
des octets.
La première lecture d’octets est stockée dans l’élément b[off]
, la suivante dans b[off+1]
, et ainsi de suite. Le nombre d’octets lus est, au plus, égal à len
. Laissez k être le nombre d’octets réellement lus ; ces octets seront stockés dans des éléments b[off]
par b[off+
k-1]
, laissant les éléments b[off+
k]
à b[off+len-1]
non affectés.
Le comportement pour le cas où le flux d’entrée est fermé de manière asynchrone, ou le thread interrompu pendant la lecture, est très spécifique au flux d’entrée et n’est donc pas spécifié.
Si une erreur d’E/S se produit lors de la lecture à partir du flux d’entrée, elle peut le faire une fois que certains octets b
, mais pas tous, ont été mis à jour avec les données du flux d’entrée. Par conséquent, le flux d’entrée peut b
être dans un état incohérent. Il est fortement recommandé de fermer rapidement le flux si une erreur d’E/S se produit.
Ajouté dans 9.
Documentation Java pour java.io.InputStream.readNBytes(byte[], int, int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.