A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaomilu 中级黑马   /  2017-4-2 19:13  /  571 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

构造方法
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();


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马