构造方法
public FileReader(String fileName) 传递要读取的文件名称 要求文件必须存在
成员方法
int read() 读取单个字符并返回 读取到文件末尾返回-1
int read(char[] cbuf) 一次读取一个字符数组的数据,返回的是实际读取的字符个数
输入流读文件的步骤:
1.创建输入流对象
FileReader fr = new FileReader("a.txt");
2.调用输入流对象的读数据方法
fr.read();
3.释放资源
fr.flush();
fr.close();
注意:如果构造方法中的文件不存在,会抛异常
java.io.FileNotFoundException: fr.txt (系统找不到指定的文件。)
一次读一个字符
//1创建输入流对象
//FileReader fr = new FileReader("fr.txt");
FileReader fr = new FileReader("a.java");
//2调用输入流对象的读数据方法
int ch;
while((ch=fr.read())!=-1) {
//System.out.println(ch);
//System.out.println((char)ch);
System.out.print((char)ch);
}
//3释放资源
fr.close();
一次读一个字符数组
/1/创建输入流对象
FileReader fr = new FileReader("FileWriterDemo.java");
//2调用输入流对象的读数据方法
//int read(char[] cbuf):一次读取一个字符数组的数据,返回的是实际读取的字符个数
char[] chs = new char[1024]; //这里可以是1024及其整数倍
int len;
/*
* while循环的条件表达式一共做了3件事情
* 1:fr.read(chs) 把数据读取到数组中
* 2:len=fr.read(chs) 把读取的有效个数赋值给len
* 3:len != -1 判断读取的有效个数是否为-1
*/
while((len=fr.read(chs))!=-1) {
System.out.print(new String(chs,0,len));
}
//3释放资源
fr.close();
|
|