FileChannel.TransferTo(Int64, Int64, IWritableByteChannel) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Trasferisce byte dal file del canale al canale scrivibile specificato.
[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
Parametri
- position
- Int64
Posizione all'interno del file in cui deve iniziare il trasferimento; deve essere non negativo
- count
- Int64
Numero massimo di byte da trasferire; deve essere non negativo
- target
- IWritableByteChannel
Canale di destinazione
Valori restituiti
Numero di byte, possibilmente zero, effettivamente trasferiti
- Attributi
Eccezioni
se i parametri non sono validi.
se questo canale non è leggibile.
se il canale di destinazione non è scrivibile.
se uno dei due canali è già stato chiuso.
se uno dei due canali viene chiuso da altri thread durante questa operazione.
se il thread viene interrotto durante questa operazione.
se si verifica un errore di I/O.
Commenti
Trasferisce byte dal file del canale al canale scrivibile specificato.
Viene effettuato un tentativo di lettura fino a count byte a partire dall'oggetto specificato position nel file del canale e di scriverli nel canale di destinazione. Una chiamata di questo metodo può o meno trasferire tutti i byte richiesti; indipendentemente dal fatto che lo faccia dipende dalla natura e dagli stati dei canali. Meno del numero di byte richiesto vengono trasferiti se il file del canale contiene meno di count byte a partire dall'oggetto specificato positiono se il canale di destinazione non è bloccato e ha meno di count byte liberi nel buffer di output.
Questo metodo non modifica la posizione del canale. Se la posizione specificata è maggiore delle dimensioni correnti del file, non vengono trasferiti byte. Se il canale di destinazione ha una posizione, i byte vengono scritti a partire da tale posizione e la posizione viene incrementata in base al numero di byte scritti.
Questo metodo è potenzialmente molto più efficiente di un ciclo semplice che legge da questo canale e scrive nel canale di destinazione. Molti sistemi operativi possono trasferire i byte direttamente dalla cache del file system al canale di destinazione senza copiarli effettivamente.
per java.nio.channels.FileChannel.transferTo(long, long, java.nio.channels.WritableByteChannel).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.