Reader字符输入流
Readr类是实现字符输入流的一种累类型,其本身属于一个抽象类,这个类的定义如下:
public abstract class Reader extends Object implements Readable, Closeable
Reader类里面并没有像Writer类一样提供有整个字符串的输人员处理操作,只能够利用字符数组进行接收。
- 读一个字符:public int read() throws IOException
- 将字符读入数组:public int read(char[] cbuf) throws IOException
- 将字符读入数组的一部分(off - len):public abstract int read(char[] cbuf, int off, int len) throws IOException(读取的字符数,如果已到达流的末尾,则返回-1)
范例:实现数据读取
package 字节流与字符流;
import java.awt.font.TextMeasurer;
import java.io.*;
public class Reader类 {
public static void main(String[] args) throws IOException {
File file = new File("F:"+File.separator+"Test"+File.separator+"test.txt"); //实例化一个文件类
if(file.getParentFile().exists()){ //没有父路径
file.getParentFile().mkdirs(); //创建一个父路径
}
Reader reader = new FileReader(file); //实例化Reader对象
char[] temp = new char[1024]; //创建一个缓冲区存放内容
int length = reader.read(temp); //存储数据到数组保存数据长度
String str = new String(temp,0,length); //截取0到数组长度的内容转换为字符串
System.out.println(str);
reader.close(); //关闭资源
}
}
字符流读取的时候只能按照数组的形式来实现处理操作。