字符流

1.字符输入流

java.io.Reader:字符输入流,是字符输入流最顶层的父类,定义了一些共性的成员方法,是一个抽象类。

共性成员方法:

  • int reader(); 读取单个字符并返回
  • int reader(char [] c); 一次读取多个字符,将字符读入数组
  • void close(); 关闭该流并释放与之相关的所有资源
2.文件字符输入流

java.io.FileReader extends InputStreamReader extends Reader.

作用:将硬盘中的文件数据以字符的方式读取到内存中

构造方法:

  • FileReader(String fileNmae);
  • FileReader(File file);
    参数:读取文件的数据源
    String fileName:文件路径
    File file:一个文件
    作用:
    1.创建一个FileReader对象
    2.会把FileReader对象指向要读取的文件
3代码演示

4.字符输出流

java.io.Writer;字符输出流,是字符输出流最顶层的父类,定义了一些共性的成员方法,是一个抽象类。

共性成员方法:

  • void write(int c);写入单个字符
  • void write(char [] c);写入字符数组
  • abstract void write(char [] c,int off,int len) ;写入字符数组的某一部分,off数组开始索引,len写的字符个数
  • void write(String str);写入字符串
  • vaoid write(String str,int off,int len);写入字符串的某一部分,off数组开始索引,len写的字符个数
  • void flush();刷新该流的缓冲
  • void close();关闭此流,但要先刷新他

5.文件字符输出流

java.io.FileWriter extends OutputStreamWriter extends Writer

作用:将内存中的文件数据以字符的方式写到硬盘中

构造方法:

  • FileWriter(String fileNmae);
  • FileWriter(File file);
    参数:读取文件的数据源
    String fileName:文件路径
    File file:一个文件

6.代码演示

7.flush方法和close方法的区别:

  • flush:刷新缓冲区,流对象可以继续使用。
  • close:先刷新缓冲区,然后通知系统释放资源,流对象不可以再使用。