ByteBuffer.Put 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| 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, 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, off, 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() - index 和 src.limit() - offset
返回
此缓冲区
- 属性
注解
绝对批量 放置 方法 (可选操作) 。
此方法将字节从给定源缓冲区传输到 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)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
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() - index 和 src.length - offset
返回
此缓冲区
- 属性
注解
绝对批量 放置 方法 (可选操作) 。
此方法从给定数组中的给定偏移量开始,在此缓冲区中的给定索引处传输 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)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。