FileChannel.TransferTo(Int64, Int64, IWritableByteChannel) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このチャネルのファイルから特定の書き込み可能バイト チャネルにバイトを転送します。
[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
パラメーター
- position
- Int64
転送を開始するファイル内の位置。は負以外である必要があります
- count
- Int64
転送される最大バイト数。は負以外である必要があります
- target
- IWritableByteChannel
ターゲット チャネル
返品
実際に転送されたバイト数 (場合によっては 0)
- 属性
例外
パラメーターが無効な場合は 。
このチャネルが読み取り可能でない場合は 。
ターゲット チャネルが書き込み可能でない場合は 〝。
いずれかのチャネルが既に閉じている場合は〘。
この操作中にいずれかのチャネルが他のスレッドによって閉じている場合は。
この操作中にスレッドが中断された場合は 。
I/O エラーが発生した場合は〘。
注釈
このチャネルのファイルから特定の書き込み可能バイト チャネルにバイトを転送します。
このチャネルのファイル内の特定のcountから始まる最大position バイトを読み取り、ターゲット チャネルに書き込もうとします。 このメソッドの呼び出しでは、要求されたすべてのバイトが転送される場合と転送されない場合があります。それがそうするかどうかは、チャネルの性質と状態によって異なります。 このチャネルのファイルに含まれるバイト数が、指定されたcountから始まるpositionバイト数より少ない場合、またはターゲット チャネルが非ブロッキングであり、出力バッファーの空きバイト数がcountバイト未満の場合、転送されるバイト数より少なくなります。
このメソッドは、このチャネルの位置を変更しません。 指定された位置がファイルの現在のサイズより大きい場合、バイトは転送されません。 ターゲット チャネルに位置がある場合は、その位置からバイトが書き込まれ、その位置は書き込まれたバイト数だけインクリメントされます。
このメソッドは、このチャネルから読み取ってターゲット チャネルに書き込む単純なループよりもはるかに効率的である可能性があります。 多くのオペレーティング システムでは、実際にコピーすることなく、ファイル システム キャッシュからターゲット チャネルにバイトを直接転送できます。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。