Java基础知识章节梳理(九)

一. 普通的IO字符流

      1. 字符输出流FileWriter

           1) 构造方法:FileWriter fw=newFileWriter(String fileName)

                      fileName:传递一个要写入的目标文件名称

(另外记着字符输出流的父类是Writer)

           2) 成员方法

                 write():往文件里写入内容

                 write(String str):写一个字符串数据

                 write(String str,int index,int len) 写一个字符串中的一部分       数据,index:开始索引,len:写几个

                 write(int ch) 写一个字符数据,这里写int类型的好处是既        可以写char类型的数据,也可以写char对应的int类型的    值。

(char与int之间的变化是使用ASCII码表经行转换的。例,a对应         ASCII码表里的97)

                 write(char[] chs) 写一个字符数组数据

                 write(char[] chs,int index,int len) 写一个字符数组的一部分           数据,index:开始索引,len:写几个

                 flush() 刷新该流的缓冲,把内存缓冲区中的数据刷新到               文件中。

(如果不刷新,则没有所写的内容)

                 void close() 先刷新一次,再关闭流

(必须关流,养成习惯)

           3) 追加写入

                 格式:FileWriter fw=new FileWriter(StringfileName,boolean         append)

                 append为true时创建时创建新文件时,如果有相同名称的          原文件存在,直接在原文件的基础上追加写入

                 append为false时创建时创建新文件时,如果有相同名称的         原文件存在,直接覆盖原文件重新写入

                 创建字符输出流对象如果不填写默认是false

           4) 换行

                 windows:\r\n

                 linux:\n

                 mac:\r

(如果使用高级文本查看器浏览,则上面都可以换行,若使用系统自带文本查看器,只有对应的格式才会换行)

      2. 字符输入流FileReader

           1) 构造方法

                 FileReaderr fr=new FileReader(String fileName)

                      filename:传递要读取的文件名称

           2) 成员方法

                 int read() 读取单个字符并返回

                 int read(char[] cbuf) 一次读取一个字符数组的数据,返回的是实际读取的字符个数

二. 高效的IO字符流

      1. 字符输出缓冲流BufferedWriter

           1) 构造方法

             BufferedWriter bw=new BufferedWriter(new FileWriter(String fileName))

                 new FileWriter(String fileName) 传递一个FileWriter对象

           2) 成员方法

                 同FileWriter成员方法

                 newLine() 换行

      2. 字符输入缓冲流BufferedReader

           1) 构造方法

              BufferedReader br=new BufferedReader(newFileReader(String fileName))

                 new FileReader(String fileName) 传递一个FileReader对象

           2) 成员方法

                 同FileReader成员方法

                 readLine() 一次读写一行数据,但是不读取换行符

(这里使用的高效流是非线程安全的,但效率很高并且高效流本身是不进行文本的读取和写入的,仅仅只是提高读写的效率。PS:可以使用System.current TimeMillis()方法获取开始时间,然后在写完后再用一次上面的方法,求出两者之间的差值,即会获得字符流运行时间的毫秒值)

猜你喜欢

转载自blog.csdn.net/lbusters/article/details/80390431
今日推荐