FileReader文件字符输入流
【构造方法】
<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();
}
}