(三) 使用字符输入输出流
字符输入输出流 与 字节输入输出流有相同的功能,但传送数据的方式不一样,字节流以字节为单位传送数据,可以使任何类型的数据,例如文本、音频、视频、图片等。字符流以字符为单位传送数据,只能传送文本类型的数据。使用字符输入输出流的好处是,当读取中文时不会出现乱码问题,而使用字节输入输出流时,却不能保证这一点。
1、字符输入流抽象类:Reader类
该类定义了操作字符输入流的方法,如下表:
返回 方法 说明
boolean ready() 判断此数据流是否准备好
int read() 读入一个字符,若已读到流结尾,则返回值为-1
int read(char[ ]) 读取一些字符到char[ ]数组内,并返回所读入的字符的数量,若已到达流结尾,则返回-1
Abscract int read(char[ ] chars,int off,int len) 读取一些字符到char[ ]数组下标从off开始到off+len的位置,并返回所读入的字符的数量,若已到达流结尾,则返回-1;
void reset() 将当前输入流重新定位到最后一次mark()方法时的位置
void mark(int readLimit) 将当前输入流中做标记,当调用reset方法时将返回到该位置,从标记位置开始,到再读入readLimit个字符为止,这个标记都维持有效
boolean markSupported 测试当前输入流是否支持mark()方法和reset()方法。只要有一个方法不支持,则返回-1
long ski