java.lang.Object java.io.Reader java.io.CharArrayReader
public class CharArrayReader
此类实现一个可用作字符输入流的字符缓冲区。
字段摘要 | |
---|---|
protected char[] |
buf 字符缓冲区。 |
protected int |
count 此缓冲区结尾处的索引。 |
protected int |
markedPos 缓冲区中标记的位置。 |
protected int |
pos 当前缓冲区位置。 |
从类 java.io.Reader 继承的字段 |
---|
lock |
构造方法摘要 | |
---|---|
CharArrayReader(char[] buf) 根据指定的 char 数组创建一个 CharArrayReader。 |
|
CharArrayReader(char[] buf, int offset, int length) 根据指定的 char 数组创建一个 CharArrayReader。 |
方法摘要 | |
---|---|
void |
close() 关闭该流并释放与之关联的所有系统资源。 |
void |
mark(int readAheadLimit) 标记流中的当前位置。 |
boolean |
markSupported() 判断此流是否支持 mark() 操作(它一定支持)。 |
int |
read() 读取单个字符。 |
int |
read(char[] b, int off, int len) 将字符读入数组的某一部分。 |
boolean |
ready() 判断此流是否已准备好被读取。 |
void |
reset() 将该流重置为最新的标记,如果从未标记过,则将其重置到开头。 |
long |
skip(long n) 跳过字符。 |
从类 java.io.Reader 继承的方法 |
---|
read, read |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected char[] buf
protected int pos
protected int markedPos
protected int count
构造方法详细信息 |
---|
public CharArrayReader(char[] buf)
buf
- 输入缓冲区(不是复制得到的)
public CharArrayReader(char[] buf, int offset, int length)
得到的 reader 将从给定的 offset 处开始读取。可从此 reader 中读取的 char 值总数是 length 或 buf.length-offset,取其中的较小者。
buf
- 输入缓冲区(不是复制得到的)
offset
- 要读取的第一个 char 的偏移量
length
- 要读取的 char 数目
IllegalArgumentException
- 如果
offset 为负或大于
buf.length,或者
length 为负,或者这两个值的和为负。
方法详细信息 |
---|
public int read() throws IOException
IOException
- 如果发生 I/O 错误
public int read(char[] b, int off, int len) throws IOException
b
- 目标缓冲区
off
- 开始存储字符处的偏移量
len
- 要读取的最大字符数
IOException
- 如果发生 I/O 错误
public long skip(long n) throws IOException
n
参数可以为负数,尽管 Reader
超类的 skip
方法在此情况下会抛出一个异常。如果 n
为负数,则此方法不执行任何操作并返回 0
。
n
- 要跳过的字符数
IOException
- 如果流已关闭,或者发生 I/O 错误
public boolean ready() throws IOException
IOException
- 如果发生 I/O 错误
public boolean markSupported()
Reader
中的
markSupported
public void mark(int readAheadLimit) throws IOException
readAheadLimit
- 在仍保留该标记的情况下,对可读取字符数量的限制。因为该流的输入来自字符数组,没有实际的限制;所以忽略此参数。
IOException
- 如果发生 I/O 错误
public void reset() throws IOException
IOException
- 如果发生 I/O 错误
public void close()