Langue

FileChannel.TransferFrom(IReadableByteChannel, Int64, Int64) Méthode

Définition

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

src
IReadableByteChannel

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.

Java documentation pour java.nio.channels.FileChannel.transferFrom(java.nio.channels.ReadableByteChannel, long, long).

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.

S’applique à