Lenguaje

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

Definición

Transfiere bytes del archivo de este canal al canal de bytes grabable especificado.

[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

Parámetros

position
Int64

Posición dentro del archivo en el que se va a comenzar la transferencia; debe ser no negativo

count
Int64

Número máximo de bytes que se van a transferir; debe ser no negativo

target
IWritableByteChannel

Canal de destino

Devoluciones

El número de bytes, posiblemente cero, que se transfirieron realmente

Atributos

Excepciones

si los parámetros no son válidos.

si este canal no es legible.

si el canal de destino no se puede escribir.

si ya se ha cerrado alguno de los canales.

si cualquier canal está cerrado por otros subprocesos durante esta operación.

si el subproceso se interrumpe durante esta operación.

si se produce algún error de E/S.

Comentarios

Transfiere bytes del archivo de este canal al canal de bytes grabable especificado.

Se intenta leer hasta count bytes a partir del especificado position en el archivo de este canal y escribirlos en el canal de destino. Una invocación de este método puede transferir o no todos los bytes solicitados; si lo hace o no depende de la naturaleza y los estados de los canales. Menos del número solicitado de bytes se transfieren si el archivo de este canal contiene menos de count bytes a partir del dado position, o si el canal de destino no está bloqueado y tiene menos de count bytes libres en su búfer de salida.

Este método no modifica la posición de este canal. Si la posición especificada es mayor que el tamaño actual del archivo, no se transfiere ningún bytes. Si el canal de destino tiene una posición, los bytes se escriben a partir de esa posición y, a continuación, la posición se incrementa por el número de bytes escritos.

Este método es potencialmente mucho más eficaz que un bucle simple que lee de este canal y escribe en el canal de destino. Muchos sistemas operativos pueden transferir bytes directamente desde la memoria caché del sistema de archivos al canal de destino sin copiarlos realmente.

Java documentación para java.nio.channels.FileChannel.transferTo(long, long, java.nio.channels.WritableByteChannel).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a