- java.lang.Object
-
- java.io.Reader
-
- java.io.CharArrayReader
-
- 实现的所有接口
-
Closeable
,AutoCloseable
,Readable
public class CharArrayReaderextends Reader
该类实现了一个可用作字符输入流的字符缓冲区。- 从以下版本开始:
- 1.1
-
-
构造方法摘要
构造方法 构造器 描述 CharArrayReader(char[] buf)
从指定的字符数组创建CharArrayReader。CharArrayReader(char[] buf, int offset, int length)
从指定的字符数组创建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
nullReader, read, read, transferTo
-
-
-
-
构造方法详细信息
-
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
- 结果
- 当且仅当此流支持标记操作时才返回true。
-
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错误
-
-