【构造方法】
<1>FileReader(String filePath);【构造方法直接传入路径参数】根据指定的文件创建对应的文件字符输入流对象,如果文件不存在,抛出异常:FileNotFountException
<2>FileReader(File file);【构造方法直接传入File类对象】根据指定路径的File类对象创建文件字符输入流对象,如果文件不存在,抛出异常:FileNotFoundException
【成员方法】
<1>
int read();
从文件读取一个字符数据,返回值为int类型,int类型数据中有且只有低16位是有效数据,如果读取到文件末尾返回-1
EOF End Of File
<2>
int read(char[] buf);
从文件中读取数据到char类型缓冲数组buf,返回值是读取到的字符个数;如果读取到文件末尾返回-1
EOF End Of File
【操作流程】
<1>明确需要读取数据的文件;
<2>创建FileReader对象,打开文件操作管道;
<3>使用FileReader类对象,读取文件数据;
<4>关闭资源;
class Demo10 { public static void main(String[] args) throws IOException { //创建文件字符输入流对象 【构造方法直接传入路径】 FileReader fileReader = new FileReader("C:\\Users\\123\\Desktop\\file\\file.txt"); //创建file类对象 File file = new File("C:\\Users\\123\\Desktop\\file\\file.txt"); //创建文件字符输入流对象 【构造方法传入File类对象】 FileReader fileReader1 = new FileReader(file); //read() 方法:从文件中读取一个字符数据,文件末尾返回-1 int read; Byte[] bytes = new Byte[1024*1]; while ((read = fileReader.read()) != -1){ System.out.println(read); } //从文件中读取数据到char类型缓冲数组buf中,返回值是读取到的字符个数; //【注意这里是char[]数组,字节流是Byte[]数组】 char[] chars = new char[1024*1]; int read1 = fileReader1.read(chars); if(read1 != -1){ System.out.println(new String(chars,0,read1)); } //关闭资源 fileReader.close(); fileReader1.close(); } }