Java教程-Java Reader(读取器)

Java Reader(读取器)
Java Reader是用于读取字符流的抽象类。子类必须实现的方法仅包括read(char[], int, int)和close()。然而,大多数子类将重写一些方法以提供更高的效率、额外的功能性或两者兼具。
一些实现类包括BufferedReader、CharArrayReader、FilterReader、InputStreamReader、PipedReader和StringReader。
字段
Modifier and Type | Field | Description |
---|---|---|
protected Object | lock | 用于同步此流上的操作的对象。 |
构造函数
Modifier | Constructor | Description |
---|---|---|
protected | Reader() | 它创建了一个新的字符流阅读器,其关键部分将在阅读器本身上同步。 |
protected | Reader(Object lock) | 它创建一个新的字符流阅读器,其关键部分将在给定对象上同步。 |
方法
Modifier and Type | Method | Description |
---|---|---|
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) | 它会跳过字符。 |
示例
It tells whether this stream is ready to be read.
void reset() It resets the stream.
long skip(long n) It skips characters.
Example
import java.io.*;
public class ReaderExample {
public static void main(String[] args) {
try {
Reader reader = new FileReader("file.txt");
int data = reader.read();
while (data != -1) {
System.out.print((char) data);
data = reader.read();
}
reader.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
file.txt:
I love my country
输出:
I love my country