java.lang.Objectjava.io.Reader
用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。
BufferedReader,
LineNumberReader,
CharArrayReader,
InputStreamReader,
FileReader,
FilterReader,
PushbackReader,
PipedReader,
StringReader,
Writer
| 字段摘要 | |
|---|---|
protected Object |
lock 用于同步针对此流的操作的对象。 |
| 构造方法摘要 | |
|---|---|
protected |
Reader() 创建一个新的字符流 reader,其重要部分将同步其自身的 reader。 |
protected |
Reader(Object lock) 创建一个新的字符流 reader,其重要部分将同步给定的对象。 |
| 方法摘要 | |
|---|---|
abstract void |
close() 关闭该流并释放与之关联的所有资源。 |
void |
mark(int readAheadLimit) 标记流中的当前位置。 |
boolean |
markSupported() 判断此流是否支持 mark() 操作。 |
int |
read() 读取单个字符。 |
int |
read(char[] cbuf) 将字符读入数组。 |
abstract int |
read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。 |
int |
read(CharBuffer target) 试图将字符读入指定的字符缓冲区。 |
boolean |
ready() 判断是否准备读取此流。 |
void |
reset() 重置该流。 |
long |
skip(long n) 跳过字符。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 字段详细信息 |
|---|
protected Object lock
| 构造方法详细信息 |
|---|
protected Reader()
protected Reader(Object lock)
lock - 要同步的对象。
| 方法详细信息 |
|---|
public int read(CharBuffer target) throws IOException
target - 要将字符读入的缓冲区
IOException - 如果发生 I/O 错误
NullPointerException - 如果目标为空
ReadOnlyBufferException - 如果目标是一个只读缓冲区
public int read()
throws IOException
用于支持高效的单字符输入的子类应重写此方法。
IOException - 如果发生 I/O 错误
public int read(char[] cbuf)
throws IOException
cbuf - 目标缓冲区
IOException - 如果发生 I/O 错误
public abstract int read(char[] cbuf,
int off,
int len)
throws IOException
cbuf - 目标缓冲区
off - 开始存储字符处的偏移量
len - 要读取的最多字符数
IOException - 如果发生 I/O 错误
public long skip(long n)
throws IOException
n - 要跳过的字符数
IllegalArgumentException - 如果
n 为负。
IOException - 如果发生 I/O 错误
public boolean ready()
throws IOException
IOException - 如果发生 I/O 错误
public boolean markSupported()
public void mark(int readAheadLimit)
throws IOException
readAheadLimit - 在仍保留该标记的情况下,对可读取字符数量的限制。在读取这样多的字符后,尝试重置流可能会失败。
IOException - 如果该流不支持 mark(),或者发生一些其他 I/O 错误
public void reset()
throws IOException
IOException - 如果尚未标记流,或者该标记已失效,或者该流不支持 reset(),或者发生一些其他 I/O 错误
public abstract void close()
throws IOException
IOException - 如果发生 I/O 错误