語言

ByteBuffer.Put 方法

定義

多載

名稱 Description
Put(Int32, ByteBuffer, Int32, Int32)

絕對大量輸入法及nbsp; (可選操作)。

Put(Byte[], Int32, Int32)

相對批量賣出法及nbsp; (可選操作)。

Put(Int32, SByte)

絕對放下方法  (可選操作)。

Put(Int32, Byte[])

絕對大量輸入法及nbsp; (可選操作)。

Put(Int32, Byte[], Int32, Int32)

絕對大量輸入法及nbsp; (可選操作)。

Put(Byte[])

相對批量賣出法及nbsp; (可選操作)。

Put(ByteBuffer)

相對批量賣出法及nbsp; (可選操作)。

Put(SByte)

相對賣出法  (可選操作)。

Put(Int32, ByteBuffer, Int32, Int32)

絕對大量輸入法及nbsp; (可選操作)。

[Android.Runtime.Register("put", "(ILjava/nio/ByteBuffer;II)Ljava/nio/ByteBuffer;", "GetPut_ILjava_nio_ByteBuffer_IIHandler", ApiSince=35)]
public virtual Java.Nio.ByteBuffer Put(int index, Java.Nio.ByteBuffer src, int offset, int length);
[<Android.Runtime.Register("put", "(ILjava/nio/ByteBuffer;II)Ljava/nio/ByteBuffer;", "GetPut_ILjava_nio_ByteBuffer_IIHandler", ApiSince=35)>]
abstract member Put : int * Java.Nio.ByteBuffer * int * int -> Java.Nio.ByteBuffer
override this.Put : int * Java.Nio.ByteBuffer * int * int -> Java.Nio.ByteBuffer

參數

index
Int32

此緩衝區中第一個位元組將被寫入的索引;必須非負且小於 limit()

src
ByteBuffer

位元組要讀取的緩衝區

offset
Int32

第一個要讀取位元組的來源緩衝區索引;必須非負且小於 src.limit()

length
Int32

從給定緩衝區要讀取的位元組數;必須非負且不大於 和 的limit() - indexsrc.limit() - offset

傳回

這個緩衝區

屬性

備註

絕對大量輸入法及nbsp; (可選操作)。

此方法從 length 給定的來源緩衝區將位元組傳送到此緩衝區,從來源緩衝區的 給定 offset 開始,再從該緩衝區的給定 index 開始。 兩個緩衝區的位置保持不變。

換句話說,這種形式的 dst.put(index,&nbsp;src,&nbsp;offset,&nbsp;length) 呼叫與迴圈的效果完全相同

{@code
            for (int i = offset, j = index; i < offset + length; i++, j++)
                dst.put(j, src.get(i));
            }

只是它首先檢查所提供參數的一致性,且效率可能更高。 如果這個緩衝區和來源緩衝區共用相同的後備陣列或記憶體,那麼結果就像是來源元素先被複製到中間位置,然後才寫入該緩衝區。

16年加入。

Java 文件 java.nio.ByteBuffer.put(int, java.nio.ByteBuffer, int, int)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Put(Byte[], Int32, Int32)

相對批量賣出法及nbsp; (可選操作)。

[Android.Runtime.Register("put", "([BII)Ljava/nio/ByteBuffer;", "GetPut_arrayBIIHandler")]
public virtual Java.Nio.ByteBuffer Put(byte[] src, int offset, int length);
[<Android.Runtime.Register("put", "([BII)Ljava/nio/ByteBuffer;", "GetPut_arrayBIIHandler")>]
abstract member Put : byte[] * int * int -> Java.Nio.ByteBuffer
override this.Put : byte[] * int * int -> Java.Nio.ByteBuffer

參數

src
Byte[]

要讀取位元組的陣列

offset
Int32

第一個要讀取位元組陣列中的偏移量;必須非負且不大於 src.length

length
Int32

從給定陣列中需讀取的位元組數;必須非負且不大於 src.length - offset

傳回

這個緩衝區

屬性

例外狀況

若 remaining() 小於 byteCount。

若其中 srcOffset 或 byteCount 不成立。

若此緩衝區內容不可更改。

備註

相對批量賣出法及nbsp; (可選操作)。

此方法會從給定的來源陣列將位元組傳送到此緩衝區。 如果從陣列複製的位元組數量超過緩衝區中剩餘的,也就是說,如果 length > remaining(),然後不會傳送位元組,且拋出 a BufferOverflowException 。

否則,此方法會從指定陣列的位元組複製 length 到該緩衝區,從陣列中的指定偏移量開始,並從該緩衝區目前的位置開始。 此緩衝區的位置會被增加。length

換句話說,這種形式的 dst.put(src,&nbsp;off,&nbsp;len) 呼叫與迴圈的效果完全相同

{@code
                for (int i = off; i < off + len; i++)
                    dst.put(src[i]);
            }

只是它會先檢查緩衝區是否有足夠空間,這樣效率可能會高得多。

Java 文件 java.nio.ByteBuffer.put(byte[], int, int)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Put(Int32, SByte)

絕對放下方法  (可選操作)。

[Android.Runtime.Register("put", "(IB)Ljava/nio/ByteBuffer;", "GetPut_IBHandler")]
public abstract Java.Nio.ByteBuffer Put(int index, sbyte b);
[<Android.Runtime.Register("put", "(IB)Ljava/nio/ByteBuffer;", "GetPut_IBHandler")>]
abstract member Put : int * sbyte -> Java.Nio.ByteBuffer

參數

index
Int32

該位元組將被寫入的索引

b
SByte

要寫入的位元組值

傳回

這個緩衝區

屬性

例外狀況

如果 index 是無效的。

若此緩衝區內容不可更改。

備註

絕對放下方法  (可選操作)。

將指定位元組寫入該緩衝區,並指向該索引。

Java 文件 java.nio.ByteBuffer.put(int, byte)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Put(Int32, Byte[])

絕對大量輸入法及nbsp; (可選操作)。

[Android.Runtime.Register("put", "(I[B)Ljava/nio/ByteBuffer;", "GetPut_IarrayBHandler", ApiSince=35)]
public virtual Java.Nio.ByteBuffer Put(int index, byte[] src);
[<Android.Runtime.Register("put", "(I[B)Ljava/nio/ByteBuffer;", "GetPut_IarrayBHandler", ApiSince=35)>]
abstract member Put : int * byte[] -> Java.Nio.ByteBuffer
override this.Put : int * byte[] -> Java.Nio.ByteBuffer

參數

index
Int32

此緩衝區中第一個位元組將被寫入的索引;必須非負且小於 limit()

src
Byte[]

要讀取位元組的陣列

傳回

這個緩衝區

屬性

備註

絕對大量輸入法及nbsp; (可選操作)。

此方法會從給定的來源陣列複製位元組到此緩衝區。 此緩衝區的位置不變。 此形式的 dst.put(index,&nbsp;src) 呼叫與呼叫完全相同:

dst.put(index, src, 0, src.length);

新增13。

Java 文件 java.nio.ByteBuffer.put(int, byte[])。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Put(Int32, Byte[], Int32, Int32)

絕對大量輸入法及nbsp; (可選操作)。

[Android.Runtime.Register("put", "(I[BII)Ljava/nio/ByteBuffer;", "GetPut_IarrayBIIHandler", ApiSince=35)]
public virtual Java.Nio.ByteBuffer Put(int index, byte[] src, int offset, int length);
[<Android.Runtime.Register("put", "(I[BII)Ljava/nio/ByteBuffer;", "GetPut_IarrayBIIHandler", ApiSince=35)>]
abstract member Put : int * byte[] * int * int -> Java.Nio.ByteBuffer
override this.Put : int * byte[] * int * int -> Java.Nio.ByteBuffer

參數

index
Int32

此緩衝區中第一個位元組將被寫入的索引;必須非負且小於 limit()

src
Byte[]

要讀取位元組的陣列

offset
Int32

第一個要讀取位元組陣列中的偏移量;必須非負且小於 src.length

length
Int32

從給定陣列中需讀取的位元組數;必須非負且不大於 和 的limit() - indexsrc.length - offset

傳回

這個緩衝區

屬性

備註

絕對大量輸入法及nbsp; (可選操作)。

此方法從 length 給定陣列傳輸位元組,從陣列中的指定偏移量開始,並從緩衝區的給定索引開始。 此緩衝區的位置不變。

以 形式調用此方法 dst.put(index,&nbsp;src,&nbsp;offset,&nbsp;length) 的效果與以下迴圈完全相同,只是它首先檢查所提供參數的一致性,且效率可能更高:

{@code
                for (int i = offset, j = index; i < offset + length; i++, j++)
                    dst.put(j, src[i]);
            }

新增13。

Java 文件 java.nio.ByteBuffer.put(int, byte[], int, int)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Put(Byte[])

相對批量賣出法及nbsp; (可選操作)。

[Android.Runtime.Register("put", "([B)Ljava/nio/ByteBuffer;", "")]
public Java.Nio.ByteBuffer Put(byte[] src);
[<Android.Runtime.Register("put", "([B)Ljava/nio/ByteBuffer;", "")>]
member this.Put : byte[] -> Java.Nio.ByteBuffer

參數

src
Byte[]

來源陣列

傳回

這個緩衝區

屬性

例外狀況

若 remaining() 小於 src.length。

若此緩衝區內容不可更改。

備註

相對批量賣出法及nbsp; (可選操作)。

此方法會將給定來源位元組陣列的全部內容傳輸到此緩衝區。 此形式的 dst.put(a) 呼叫與呼叫完全相同

dst.put(a, 0, a.length)

Java 文件 java.nio.ByteBuffer.put(byte[])。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Put(ByteBuffer)

相對批量賣出法及nbsp; (可選操作)。

[Android.Runtime.Register("put", "(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;", "GetPut_Ljava_nio_ByteBuffer_Handler")]
public virtual Java.Nio.ByteBuffer Put(Java.Nio.ByteBuffer src);
[<Android.Runtime.Register("put", "(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;", "GetPut_Ljava_nio_ByteBuffer_Handler")>]
abstract member Put : Java.Nio.ByteBuffer -> Java.Nio.ByteBuffer
override this.Put : Java.Nio.ByteBuffer -> Java.Nio.ByteBuffer

參數

src
ByteBuffer

位元組要讀取的來源緩衝區;一定不是這個緩衝區

傳回

這個緩衝區

屬性

例外狀況

若 src.remaining() 大於此緩衝區的 remaining()。

如果 src 是這個緩衝區。

若此緩衝區內容不可更改。

備註

相對批量賣出法及nbsp; (可選操作)。

此方法將來源緩衝區中剩餘的位元組轉移至該緩衝區。 如果來源緩衝區剩餘的位元組數多於此緩衝區,則 src.remaining()& nbsp;> remaining(),然後不會傳送位元組,且拋出 a BufferOverflowException 。

否則,此方法會複製 n = src.remaining() 從給定緩衝區的位元組進入該緩衝區,從每個緩衝區目前的位置開始。 兩個緩衝區的位置再增加 n。

換句話說,這種形式的 dst.put(src) 呼叫與迴圈的效果完全相同

while (src.hasRemaining())
                    dst.put(src.get()); 

只是它會先檢查緩衝區是否有足夠空間,這樣效率可能會高得多。 如果這個緩衝區和來源緩衝區共用相同的後備陣列或記憶體,那麼結果就像是來源元素先被複製到中間位置,然後才寫入該緩衝區。

Java 文件 java.nio.ByteBuffer.put(java.nio.ByteBuffer)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Put(SByte)

相對賣出法  (可選操作)。

[Android.Runtime.Register("put", "(B)Ljava/nio/ByteBuffer;", "GetPut_BHandler")]
public abstract Java.Nio.ByteBuffer Put(sbyte b);
[<Android.Runtime.Register("put", "(B)Ljava/nio/ByteBuffer;", "GetPut_BHandler")>]
abstract member Put : sbyte -> Java.Nio.ByteBuffer

參數

b
SByte

要寫的位元組

傳回

這個緩衝區

屬性

例外狀況

若位置等於或大於極限。

若此緩衝區內容不可更改。

備註

相對賣出法  (可選操作)。

將指定位元組寫入當前位置的緩衝區,然後增加該位置。

Java 文件 java.nio.ByteBuffer.put(byte)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於