字符流读写文本文件

时间:2021-01-21 21:03:14

 

 

字符输入流读取文本文件

  1.  Reader类(读取字符流的抽象类)

                    Reader类的常用方法

方法名称

说明

int read()

从输入流中读取单个字符

int read(byte[] c)

从输入流中读取c .length长度的字符,保存到字节数组c中,返回实际读取的字符数

int read(byte[] c, int off , int len)

从输入流中读取最多len长度的字节,保存到字节数组c中,保存的位置从off开始,返回实际读取的字符数

void close()

关闭流

  2.字符输入流FileReader

  常用构造方法:

        ※  FileReader (String name)

             Reader fileObject=new FileReader (“C:\\test.txt”);

  使用FileReader读取文件步骤:

    (1) 引入相关类(IOException, Reader,  FileReader)

           Import java.io.*;

    (2) 创建一个FileReader对象

                    Reader fileObject=new File Reader (“C:\\test.txt”);

    (3) 利用FileReader类的方法读取文本文件的数据

          int read ();          //读取单个字符

    (4) 关闭文件输入流对象

           fileObject .close ();

  3.字符输入流BufferedReader

    常用构造方法:

          ※  BufferedReader (Reader in)

                Reader fileObject=new FileReader (“C:\\test.txt”);

                         BufferedReader br=new BufferedReader (BufferedReader);

 

    使用BufferedReader读取文件步骤:

      (1) 引入相关类(IOException, Reader, BufferedReader)

             Import java.io.*;

      (2) 创建一个BufferedReader对象

                        Reader fr=new FileReader (“C:\\test.txt”);

                         BufferedReader br=new BufferedReader (fr);

      (3) 利用BufferedReader类的方法读取文本文件的数据

              br. readLine ();      //读取一行数据,返回字符串

           【readLine()是BufferedReader类特有的方法】

      (4) 关闭文件输入流对象

            br .close ();

            fr .close ();

 

◎  FileReader和BufferedReader区别:

       BufferedReader类带有缓冲区,它可以先把一批数据读到缓冲区,接下来的      读操作都是从缓冲区内获取数据,避免每次都从数据源读取数据进行字符编码转换,从而提高读取操作的效率。

 

字符输出流写文本文件

  1. Writer类

  

Writer的常用方法

方法名称

说明

write(String str)

将str字符串里包含的字符输出到指定的输出流中

write(String str , int off , int len)

将str字符串从off位置开始,长度为len的字符输出到输出流中

void close()

关闭输出流

void flush()

刷新输出流

  2.字符输入流FileWriter

    常用构造方法:

          ※  FileWriter (String name)

                Writer fileObject=new FileWriter (“C:\\test.txt”);

 

    使用FileWriter读取文件步骤:

      (1) 引入相关类(IOException, FileWriter)

             Import java.io.*;

      (2) 创建一个FileWriter对象

                      Writer fr=new FileWriter (“C:\\test.txt”);

      (3) 利用FileWriter类的方法写文本文件

               fr. write (“hello”);

      (4) 关闭文件输出流

             fr. close ();

 

  3.字符输入流BufferedWriter

  常用构造方法:

      ※  BufferedReader (Writerout)

            Writer fw=new File Writer (“C:\\test.txt”);

                BufferedWriter  br=new Buffered Writer (fw);

  使用BufferedWriter和FileWriter将数据写入文件:

    (1) 引入相关类(IOException, FileWriter, BufferedWriter)

           Import java.io.*;

    (2) 创建一个BufferedWriter对象

                      FileWriter fw=new FileWriter (“C:\\test.txt”);

                        BufferedWriter bw=new BufferedWriter (fw);

    (3) 利用BufferedWriter类的方法写文本文件

            bw. write(“hello”);

    (4) 关闭文件输入流对象

            bw .flush ();        //刷新该流的缓冲

             fw .close ();

 

※   替换文本文件内容:replace(文件中的内容,替换的内容)

            【要用一个变量接收其返回的数据】

※   使用FileWriter写网页文件时:

        换行:“\r\n”或“<br/>”

     使用BufferedWriter写网页文件时:

        换行:bw. newLine();【在文本文件中会显示换行,但在html文件中不会换行】