ByteBuffer.Put 方法

定义

重载

名称 说明
Put(ByteBuffer)

相对批量 放置 方法  (可选操作)

Put(Byte[])

相对批量 放置 方法  (可选操作)

Put(SByte)

Relative put 方法  (可选操作)

Put(Int32, Byte[])

绝对批量 放置 方法  (可选操作)

Put(Int32, SByte)

Absolute put 方法  (可选操作)

Put(Byte[], Int32, Int32)

相对批量 放置 方法  (可选操作)

Put(Int32, ByteBuffer, Int32, Int32)

绝对批量 放置 方法  (可选操作)

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

绝对批量 放置 方法  (可选操作)

Put(ByteBuffer)

相对批量 放置 方法  (可选操作)

[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 为此缓冲区,则为

如果未对此缓冲区的内容进行更改,

注解

相对批量 放置 方法  (可选操作)

此方法将给定源缓冲区中剩余的字节传输到此缓冲区中。 如果源缓冲区中剩余的字节数多于此缓冲区中的字节数,则为 src.remaining() > 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)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

Put(Byte[])

相对批量 放置 方法  (可选操作)

[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

如果未对此缓冲区的内容进行更改,

注解

相对批量 放置 方法  (可选操作)

此方法将给定源字节数组的全部内容传输到此缓冲区。 对窗体 dst.put(a) 的此方法的调用的行为方式与调用方式完全相同

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

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

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

Put(SByte)

Relative put 方法  (可选操作)

[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

要写入的字节

返回

此缓冲区

属性

例外

如果位置等于或大于限制,则为

如果未对此缓冲区的内容进行更改,

注解

Relative put 方法  (可选操作)

将给定字节写入当前位置的此缓冲区,然后递增位置。

Java文档java.nio.ByteBuffer.put(byte)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

Put(Int32, Byte[])

绝对批量 放置 方法  (可选操作)

[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[]

要从中读取字节的数组

返回

此缓冲区

属性

注解

绝对批量 放置 方法  (可选操作)

此方法将字节从给定的源数组复制到此缓冲区。 此缓冲区的位置保持不变。 调用表单 dst.put(index,&nbsp;src) 的此方法的行为方式与调用方式完全相同:

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

已在 13 中添加。

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

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

Put(Int32, SByte)

Absolute put 方法  (可选操作)

[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 无效,

如果未对此缓冲区的内容进行更改,

注解

Absolute put 方法  (可选操作)

将给定字节写入给定索引处的此缓冲区。

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

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

Put(Byte[], Int32, Int32)

相对批量 放置 方法  (可选操作)

[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

如果任一或无效,则为 / >。

如果未对此缓冲区的内容进行更改,

注解

相对批量 放置 方法  (可选操作)

此方法将字节从给定的源数组传输到此缓冲区。 如果从数组复制的字节数多于此缓冲区中保留的字节数,则为 length> remaining(),则不传输字节并引发 aBufferOverflowException

否则,此方法会将给定数组中的字节复制到 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)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

Put(Int32, ByteBuffer, Int32, Int32)

绝对批量 放置 方法  (可选操作)

[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

返回

此缓冲区

属性

注解

绝对批量 放置 方法  (可选操作)

此方法将字节从给定源缓冲区传输到 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)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

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

绝对批量 放置 方法  (可选操作)

[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

返回

此缓冲区

属性

注解

绝对批量 放置 方法  (可选操作)

此方法从给定数组中的给定偏移量开始,在此缓冲区中的给定索引处传输 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)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于