Java——BufferedReader和BufferedWriter应用实例

/*  
字符流的缓冲区:缓冲区是为了提高读或写的效率
                只具备提高效率的功能,不具备读或者写的功能
                所以使用缓冲流必须结合着读流或写流

BufferdReader:只具备提高效率的功能,不具备读的功能
BufferdWriter:只具备提高效率的功能,不具备写的功能----newLine()跨平台写入换行
*/
import java.io.*;
class test{
    public static void main(String[] args)throws IOException{
        //使用缓冲写入流实现文件的写入

        //1、因为BufferdWriter不具备写入的功能,所以需要先创建字符写入流对象和文件相关联
        FileWriter fw = new FileWriter("tt.txt");

        //2、为了提高写入的效率,使用缓冲写入流
        //把需要被提高效率的字符输出流对象作为参数传递给BufferWriter的构造方法
        BufferedWriter bw = new BufferedWriter(fw);

        //3、使用BufferWriter对象实现写入数据
        for(int i=1;i<=3;i++){
            bw.write("abc"+i);
            bw.newLine();//写入换行---跨平台的
            bw.flush();//或者可以在最后关闭流
        }

        //关闭流
        bw.close();//关闭缓冲流,其实就是关闭字符输出流
    }
}
//BufferedReader:只具备提高效率的功能,不具备读的功能
//提供了一个一次读一行的功能readLine()
import java.io.*;
class test{
    public static void main(String[] args)throws IOException{
        //1、创建文件读取流
        FileReader fr = new FileReader("tt.txt");

        //2、为了提高读取的效率,使用BufferedReader
        //把需要被提高效率的座位参数传递给BufferedReader的构造方法
        BufferedReader br = new BufferedReader(fr);

        //BufferedReader有一个一次读一行的功能
        String line = null;

        /*line = br.readLine();//返回的一行不包含最后的换行符
        System.out.println(line);

        line = br.readLine();
        System.out.println(line);

        line = br.readLine();
        System.out.println(line);*/

        //改为循环
        while((line = br.readLine())!=null){
            System.out.println(line);
        }

        br.close();//实际上关闭的是fr
    }
}

你可能感兴趣的:(java知识点)