Java字符流-缓冲区

字符流-缓冲区

缓冲区的出现提高了对数据的读写效率。

 

对应类:

BufferedReader

BufferedWriter

 

BufferedReader

构造方法

BufferedReader(Reader in)
创建一个使用默认大小输入缓冲区的缓冲字符输入流。

BufferedReader(Reader in, int sz)
创建一个使用指定大小输入缓冲区的缓冲字符输入流。

 

特有方法

String

readLine()
读取一个文本行。

 

FileReader br=new FileReader("C:\\demo.txt");
BufferedReader bufr=new BufferedReader(br);
String len=null;
while((len=bufr.readLine())!=null){
   System.out.println(len);
}
bufr.close();


BufferedWriter

构造方法

BufferedWriter(Writer out)
创建一个使用默认大小输出缓冲区的缓冲字符输出流。

BufferedWriter(Writer out, int sz)
创建一个使用给定大小输出缓冲区的新缓冲字符输出流。

 

特有方法

void

newLine()
写入一个行分隔符。

FileWriter fw=new FileWriter("C:\\1.txt");
BufferedWriter bufw=new BufferedWriter(fw);
bufw.write("你在做什么?");
bufw.newline();
bufw.flush();
bufw.close();


//复制文本文件
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CopyTextByBuf {

   public static void main(String[] args) throws IOException {
      FileReader fr = new FileReader("C:\\demo.txt");
      BufferedReader bufr = new BufferedReader(fr);
      FileWriter fw = new FileWriter("C:\\demo1.txt");
      BufferedWriter bufw = new BufferedWriter(fw);
      String line = null;
      while ((line = bufr.readLine()) != null) {
         bufw.write(line);
         bufw.newLine();
         bufw.flush();
      }
      bufr.close();
      bufw.close();
   }
}