FileChannel.TransferTo(Int64, Int64, IWritableByteChannel) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überträgt Bytes aus der Datei dieses Kanals an den angegebenen schreibbaren Bytekanal.
[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
Parameter
- position
- Int64
Die Position innerhalb der Datei, an der die Übertragung beginnen soll; muss nicht negativ sein
- count
- Int64
Die maximale Anzahl von Bytes, die übertragen werden sollen; muss nicht negativ sein
- target
- IWritableByteChannel
Der Zielkanal
Gibt zurück
Die Anzahl der Bytes, möglicherweise Null, die tatsächlich übertragen wurden
- Attribute
Ausnahmen
wenn die Parameter ungültig sind.
wenn dieser Kanal nicht lesbar ist.
wenn der Zielkanal nicht schreibbar ist.
wenn ein Kanal bereits geschlossen wurde.
wenn beide Kanäle während dieses Vorgangs von anderen Threads geschlossen werden.
wenn der Thread während dieses Vorgangs unterbrochen wird.
wenn ein E/A-Fehler auftritt.
Hinweise
Überträgt Bytes aus der Datei dieses Kanals an den angegebenen schreibbaren Bytekanal.
Es wird versucht, bis zu count Bytes zu lesen, die bei der angegebenen position Datei dieses Kanals beginnen und in den Zielkanal schreiben. Ein Aufruf dieser Methode kann oder kann nicht alle angeforderten Bytes übertragen; ob dies der Fall ist, hängt von den Naturen und Zuständen der Kanäle ab. Weniger als die angeforderte Anzahl von Bytes werden übertragen, wenn die Datei dieses Kanals weniger als count Bytes enthält, die an der angegebenen positionStelle beginnen, oder wenn der Zielkanal nicht blockiert wird und weniger als count Bytes im Ausgabepuffer frei sind.
Diese Methode ändert die Position dieses Kanals nicht. Wenn die angegebene Position größer als die aktuelle Größe der Datei ist, werden keine Bytes übertragen. Wenn der Zielkanal eine Position hat, werden Bytes beginnend an dieser Position geschrieben, und dann wird die Position um die Anzahl der geschriebenen Bytes erhöht.
Diese Methode ist potenziell viel effizienter als eine einfache Schleife, die aus diesem Kanal liest und in den Zielkanal schreibt. Viele Betriebssysteme können Bytes direkt aus dem Dateisystemcache in den Zielkanal übertragen, ohne sie tatsächlich zu kopieren.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.