FileChannel.TransferFrom(IReadableByteChannel, Int64, Int64) 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.
Transfère les octets dans le fichier de ce canal à partir du canal d’octets lisible donné.
[Android.Runtime.Register("transferFrom", "(Ljava/nio/channels/ReadableByteChannel;JJ)J", "GetTransferFrom_Ljava_nio_channels_ReadableByteChannel_JJHandler")]
public abstract long TransferFrom(Java.Nio.Channels.IReadableByteChannel? src, long position, long count);
[<Android.Runtime.Register("transferFrom", "(Ljava/nio/channels/ReadableByteChannel;JJ)J", "GetTransferFrom_Ljava_nio_channels_ReadableByteChannel_JJHandler")>]
abstract member TransferFrom : Java.Nio.Channels.IReadableByteChannel * int64 * int64 -> int64
Paramètres
Canal source
- position
- Int64
Position dans le fichier auquel le transfert doit commencer ; doit être non négatif
- count
- Int64
Nombre maximal d’octets à transférer ; doit être non négatif
Retours
Nombre d’octets, éventuellement zéro, qui ont été effectivement transférés
- Attributs
Exceptions
si les paramètres ne sont pas valides.
si le canal source n’est pas lisible.
si ce canal n’est pas accessible en écriture.
si l’un ou l’autre canal a déjà été fermé.
si l’un ou l’autre canal est fermé par d’autres threads pendant cette opération.
si le thread est interrompu pendant cette opération.
si une erreur d’E/S se produit.
Remarques
Transfère les octets dans le fichier de ce canal à partir du canal d’octets lisible donné.
Une tentative est effectuée pour lire jusqu’à count des octets à partir du canal source et les écrire dans le fichier de ce canal à partir de l’élément donné position. Un appel de cette méthode peut ou non transférer tous les octets demandés ; s’il le fait ou non dépend de la nature et des états des canaux. Moins de nombre d’octets demandés sont transférés si le canal source a moins count d’octets restants, ou si le canal source n’est pas bloquant et qu’il a moins count d’octets immédiatement disponibles dans sa mémoire tampon d’entrée.
Cette méthode ne modifie pas la position de ce canal. Si la position donnée est supérieure à la taille actuelle du fichier, aucun octet n’est transféré. Si le canal source a une position, les octets sont lus à partir de cette position, puis la position est incrémentée par le nombre d’octets lus.
Cette méthode est potentiellement plus efficace qu’une boucle simple qui lit à partir du canal source et écrit dans ce canal. De nombreux systèmes d’exploitation peuvent transférer des octets directement à partir du canal source dans le cache du système de fichiers sans les copier réellement.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.