- java.lang.Object
-
- java.io.Reader
-
- java.io.CharArrayReader
-
- All Implemented Interfaces:
-
Closeable,AutoCloseable,Readable
public class CharArrayReader extends Reader
该类实现了一个字符缓冲区,可以用作字符输入流。- 从以下版本开始:
- 1.1
-
-
构造方法摘要
构造方法 Constructor 描述 CharArrayReader(char[] buf)从指定的字符数组中创建CharArrayReader。CharArrayReader(char[] buf, int offset, int length)从指定的字符数组中创建CharArrayReader。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 voidclose()关闭流并释放与之相关联的任何系统资源。voidmark(int readAheadLimit)标记流中的当前位置。booleanmarkSupported()告诉这个流是否支持mark()操作。intread()读一个字符intread(char[] b, int off, int len)将字符读入数组的一部分。booleanready()告诉这个流是否准备好被读取。voidreset()将流重新设置为最近的标记,或将其重新设置为从未被标记的开始。longskip(long n)跳过字符
-
-
-
构造方法详细信息
-
CharArrayReader
public CharArrayReader(char[] buf)
从指定的字符数组中创建CharArrayReader。- 参数
-
buf- 输入缓冲区(未复制)
-
CharArrayReader
public CharArrayReader(char[] buf, int offset, int length)从指定的字符数组中创建CharArrayReader。得到的读者将在给定的
offset开始阅读。 该读卡器可以读取的char个数字将为length或buf.length-offset,以较小者为准。- 参数
-
buf- 输入缓冲区(未复制) -
offset- 要读取的第一个字符的偏移量 -
length- 要读取的字符数 - 异常
-
IllegalArgumentException- 如果offset为负或大于buf.length,或者如果length为负,或者如果这两个值之和为负。
-
-
方法详细信息
-
read
public int read() throws IOException读一个字符- 重写:
-
read在Reader - 结果
-
字符读取,作为0到65535(
0x00-0xffff)范围内的整数,如果已经达到流的末尾,0x00-0xffff-1。 - 异常
-
IOException- 如果发生I / O错误
-
read
public int read(char[] b, int off, int len) throws IOException将字符读入数组的一部分。- Specified by:
-
read在Reader - 参数
-
b- 目的缓冲区 -
off- 开始存储字符的偏移量 -
len- 要读取的最大字符数 - 结果
- 读取的实际字符数,如果已达到流的末尾,则为-1
- 异常
-
IOException- 如果发生I / O错误 -
IndexOutOfBoundsException- 如果发生I / O错误
-
skip
public long skip(long n) throws IOException- 重写:
-
skip在Reader - 参数
-
n- 要跳过的字符数 - 结果
- 实际跳过的字符数
- 异常
-
IOException- 如果流关闭,或发生I / O错误
-
ready
public boolean ready() throws IOException告诉这个流是否准备好被读取。 字符阵列阅读器总是准备好阅读。- 重写:
-
ready在Reader - 结果
- 如果下一个read()保证不阻止输入,则为True,否则为false。 请注意,返回false并不能保证下一次读取将被阻止。
- 异常
-
IOException- 如果发生I / O错误
-
markSupported
public boolean markSupported()
告诉这个流是否支持mark()操作。- 重写:
-
markSupported在Reader - 结果
- 当且仅当此流支持标记操作时才为真。
-
mark
public void mark(int readAheadLimit) throws IOException标记流中的当前位置。 对reset()的后续调用将会将流重新定位到此位置。- 重写:
-
mark在Reader - 参数
-
readAheadLimit- 限制仍然保留标记时可能读取的字符数。 因为流的输入来自字符数组,没有实际的限制; 因此这个论点被忽略。 - 异常
-
IOException- 如果发生I / O错误
-
reset
public void reset() throws IOException将流重新设置为最近的标记,或将其重新设置为从未被标记的开始。- 重写:
-
reset在Reader - 异常
-
IOException- 如果发生I / O错误
-
-