Reader 字符输入流
源码剖析:
- 继承关系:
abstract class Reader implements Readable, Closeable
//抽象类
//可以读取,可以自动关闭
- 构造方法:
//有参数、无参数
protected Reader() {
this.lock = this;
}
/**
* Creates a new character-stream reader whose critical sections will
* synchronize on the given object.
*
* @param lock The Object to synchronize on.
*/
protected Reader(Object lock) {
if (lock == null) {
throw new NullPointerException();
}
this.lock = lock;
}
- 基本方法:
int read(java.nio.CharBuffer target) | 试图将字符读入指定的字符缓冲区 |
---|---|
int read() | 读取单个字符,读操作结束的返回值-1,返回值就是字符对应的ASCII码的数字 |
int read(char cbuf[]) | 将字符读入数组,读操作结束的返回值-1,数据读取到char []数组中,返回值表示读取有效数据个数 |
int read(char cbuf[], int off, int len) | 将字符读入数组的某一部分,读操作结束的返回值-1,数据读取到char []数组中,可以指定读取数据的起始和大小,返回值表示读取有效数据个数 |
long skip(long n) | 跳过指定长度的字符 |
boolean ready() | 判断是否准备读取此流 |
boolean markSupported() | 判断此流是否支持 mark() 操作 |
void mark(int readAheadLimit) | 标记流中的当前位置 |
void reset() | 重置该流 |
void close() | 关闭该流并释放与之关联的所有资源 |
- 读操作具体操作步骤:
1.打开字符读操作流,可能会抛出异常FileNotFoundException;
FileReader fileReader = new FileReader(path);
2.读操作,可能会抛出IOException异常;
fileReader.read();
3.关闭流。
fileReader.close();
public class InputOutStreamDemo {
public static void read(String path){
try {
FileReader fileReader &#