BufferedReader.Read(Char[], Int32, Int32) 方法

定义

将字符读入数组的一部分。

[Android.Runtime.Register("read", "([CII)I", "GetRead_arrayCIIHandler")]
public override int Read(char[]? cbuf, int off, int len);
[<Android.Runtime.Register("read", "([CII)I", "GetRead_arrayCIIHandler")>]
override this.Read : char[] * int * int -> int

参数

cbuf
Char[]

目标缓冲区

off
Int32

开始存储字符的偏移量

len
Int32

要读取的最大字符数

返回

读取的字符数;如果已达到流的末尾,则 -1

属性

例外

如果 offset buffer.length

如果此读取器已关闭或发生其他一些 I/O 错误,则为

注解

将字符读入数组的一部分。

此方法实现类的相应 {@link Reader#read(char[], int, int) read} 方法的 {@link Reader} 一般协定。 为方便起见,它尝试通过重复调用 read 基础流的方法读取尽可能多的字符。 此迭代 read 将继续,直到以下条件之一变为 true: <ul>

<li> 已读取指定的字符数,

<li> 基础 read 流的方法返回 -1,指示文件结束,或

<li> 基础 ready 流的方法返回 false,指示进一步的输入请求将阻止。

</ul> 如果基础流上的第一个 read 返回 -1 指示文件结束,则此方法返回 -1。 否则,此方法返回实际读取的字符数。

鼓励此类的子类(但不需要)尝试以相同方式读取尽可能多的字符。

通常,此方法从此流的字符缓冲区中获取字符,并根据需要从基础流填充字符。 但是,如果缓冲区为空,标记无效,并且请求的长度至少与缓冲区一样大,则此方法将直接从基础流读取字符到给定数组中。 因此,冗余 BufferedReaders 不会不必要的复制数据。

适用于 . 的 java.io.BufferedReader.read(char[], int, int)Java 文档

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

适用于