FileChannel.TransferTo(Int64, Int64, IWritableByteChannel) 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 du fichier de ce canal vers le canal d’octet accessible en écriture donné.
[Android.Runtime.Register("transferTo", "(JJLjava/nio/channels/WritableByteChannel;)J", "GetTransferTo_JJLjava_nio_channels_WritableByteChannel_Handler")]
public abstract long TransferTo(long position, long count, Java.Nio.Channels.IWritableByteChannel? target);
[<Android.Runtime.Register("transferTo", "(JJLjava/nio/channels/WritableByteChannel;)J", "GetTransferTo_JJLjava_nio_channels_WritableByteChannel_Handler")>]
abstract member TransferTo : int64 * int64 * Java.Nio.Channels.IWritableByteChannel -> int64
Paramètres
- 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
- target
- IWritableByteChannel
Canal cible
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 ce canal n’est pas lisible.
si le canal cible 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 du fichier de ce canal vers le canal d’octet accessible en écriture donné.
Une tentative est effectuée pour lire jusqu’à count des octets à partir du fichier donné position dans le fichier de ce canal et les écrire dans le canal cible. 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 fichier de ce canal contient moins count d’octets commençant à l’élément donné position, ou si le canal cible n’est pas bloquant et qu’il a moins count d’octets libres dans sa mémoire tampon de sortie.
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 cible a une position, les octets sont écrits à partir de cette position, puis la position est incrémentée par le nombre d’octets écrits.
Cette méthode est potentiellement beaucoup plus efficace qu’une boucle simple qui lit à partir de ce canal et écrit dans le canal cible. De nombreux systèmes d’exploitation peuvent transférer des octets directement du cache du système de fichiers vers le canal cible sans les copier réellement.
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.