InputStream.ReadNBytes 方法

定义

重载

ReadNBytes(Int32)

从输入流中读取最多指定的字节数。

ReadNBytes(Byte[], Int32, Int32)

将输入流中请求的字节数读入给定字节数组。

ReadNBytes(Int32)

从输入流中读取最多指定的字节数。

[Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)]
public virtual byte[]? ReadNBytes (int len);
[<Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)>]
abstract member ReadNBytes : int -> byte[]
override this.ReadNBytes : int -> byte[]

参数

len
Int32

要读取的最大字节数

返回

Byte[]

包含从此输入流中读取的字节的字节数组

属性

注解

从输入流中读取最多指定的字节数。 此方法会阻止读取请求的字节数、检测到流结束或引发异常。 此方法不会关闭输入流。

返回的数组的长度等于从流中读取的字节数。 如果 len 为零,则不读取任何字节,并返回空字节数组。 否则,从流中读取最多 len 字节。 如果遇到流末尾,则读取的字节数少于 len 字节。

当此流到达流的末尾时,此方法的进一步调用将返回空字节数组。

请注意,此方法适用于将指定字节数读入字节数组的简单情况。 此方法分配的内存总量与从绑定的 len流中读取的字节数成正比。 因此,可以使用提供足够内存的非常大的值 len 安全地调用该方法。

异步关闭输入流或读取期间中断线程的行为是高度特定于输入流的,因此未指定。

如果从输入流读取 I/O 错误,则在读取某些字节(但不是全部)之后,它可能会执行该操作。 因此,输入流可能不在流末尾,并且可能处于不一致状态。 强烈建议在发生 I/O 错误时立即关闭该流。

已在 11 中添加。

适用于 . 的 java.io.InputStream.readNBytes(int)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

ReadNBytes(Byte[], Int32, Int32)

将输入流中请求的字节数读入给定字节数组。

[Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)]
public virtual int ReadNBytes (byte[]? b, int off, int len);
[<Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)>]
abstract member ReadNBytes : byte[] * int * int -> int
override this.ReadNBytes : byte[] * int * int -> int

参数

b
Byte[]

读取数据的字节数组

off
Int32

写入数据的起始偏移量b

len
Int32

要读取的最大字节数

返回

读取到缓冲区中的实际字节数

属性

注解

将输入流中请求的字节数读入给定字节数组。 此方法会阻止 len 输入数据的字节读取、检测到流结束或引发异常。 返回实际读取的字节数(可能为零)。 此方法不会关闭输入流。

在读取字节之前 len 到达流的结尾时,将返回实际读取的字节数。 当此流到达流的末尾时,此方法的进一步调用将返回零。

如果 len 为零,则不读取任何字节并 0 返回;否则,将尝试读取最多 len 字节。

第一个字节读取存储在元素中,下一个字节读取将存储在元素 b[off]b[off+1],依此等。 读取的字节数最多等于 len。 让 k 是实际读取的字节数;这些字节将通过 k-1] 存储在元素中,使元素 b[off]b[off+b[off+k]b[off+len-1]受影响。

异步关闭输入流或读取期间中断线程的行为是高度特定于输入流的,因此未指定。

如果从输入流中读取 I/O 错误,则在输入流中的数据更新了部分字节(但不是全部) b 之后,它可能会执行此操作。 因此,输入流可能 b 处于不一致状态。 强烈建议在发生 I/O 错误时立即关闭该流。

已在 9 中添加。

适用于 . 的 java.io.InputStream.readNBytes(byte[], int, int)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于