ByteBuffer.Put 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | 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, src, offset, 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, off, 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, 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, src, offset, 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。