JAVA基础-I/O流学习笔记(二)

时间:2021-09-06 21:06:09

 

BufferedReader和BufferedWriter

BufferedReader和BufferedWriter是java提供的两个字符缓存流,缓冲流是包装流,主要是为了提高效率,将读/写的内容放在缓冲区,然后将缓冲区的内容,然后一次性将缓冲区的内容写到目的地。

BufferedReader主要提供了readLine()(一次读一行)方法提高效率。

BufferedWriter则对应提供newLine(),来进行换行操作,并且在进行输出的时候,是从缓冲区里读取数据进行输出。

下面来看一下两个字符缓冲区的用法。

package it.study.io;

 

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

 

public class WriterDemo {

 

    public static void main(String[] args){

       // TODO Auto-generated method stub

       //定义缓冲流对象

       BufferedReader bufr=null;

       BufferedWriter bufw=null;

       try{

           //将节点流传入缓冲流对象

           bufr=new BufferedReader(new FileReader("WriterDemo.java"));

           bufw=new BufferedWriter(new FileWriter("D:\\wirte.txt"));

           //声明字符串对象

           String s=null;

           //使用readLine,一次读一行的方法

           while((s=bufr.readLine())!=null){

              //将字符串写入输出流对象

              bufw.write(s);

              //此处需要进行换行,因为readLine没有读取换行符

              bufw.newLine();

             

           }

       }

       catch(IOException i){

           i.printStackTrace();

       }

       finally{

           try{

              if(null!=bufr)

                  bufr.close();

           }

           catch(IOException i){

              i.printStackTrace();

           }

           try{

              if(null!=bufw)

                  bufw.close();

           }

           catch(IOException i){

              i.printStackTrace();

           }

       }

    }

}