BufferedWriter 和 BufferedReader 为带有默认缓冲的字符输出输入流,因为有缓冲区所以效率比没有缓冲区的高。BufferedReader它可以包装字符流,拥有8192字符的缓冲区,将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你flush的时候,再读入内存,就是为了提供读的效率而设计的。
一、BufferedWriter 类
构造方法:bufferedWriter bf = new bufferedWriter(Writer out );
主要方法:void write(char ch);//写入单个字符。
void write(char []cbuf,int off,int len)//写入字符数据的某一部分。
void write(String s,int off,int len)//写入字符串的某一部分。
void newLine()//写入一个行分隔符。
void flush();//刷新该流中的缓冲。将缓冲数据写到目的文件中去。
void close();//关闭此流,再关闭前会先刷新他。
二、BufferedReader类。
构造方法:BufferedReader br = new BufferReader(Reader in);
主要方法:int read();//读取单个字符。
int read(char[] cbuf,int off,int len);//将字符读入到数组的某一部分。返回读取的字符数。达到尾部 ,返回-1。
String readLine(); //读取一个文本行。
void close(); //关闭该流。并释放与该流相关的所有资源。
下面是一个读取并写入的示例程序。
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class SimpleServer { /** * @param args */ public static void main(String[] args) throws IOException { //BufferedReader and BufferedWriter小程序 FileReader fr = new FileReader("C:\\Users\\dell\\Desktop\\mykey.txt"); FileWriter fw = new FileWriter("C:\\Users\\dell\\Desktop\\copy.txt"); BufferedReader br = new BufferedReader(fr); BufferedWriter bw = new BufferedWriter(fw); String line = null; while((line = br.readLine()) != null) { bw.write(line); bw.newLine(); bw.flush(); System.out.println(line); } bw.close(); br.close(); } }