FileChannel.TransferTo(Int64, Int64, IWritableByteChannel) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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.