Langue

FileChannel.TransferTo(Int64, Int64, IWritableByteChannel) Méthode

Définition

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.

Documentation Java pour java.nio.channels.FileChannel.transferTo(long, long, java.nio.channels.WritableByteChannel).

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 à