今天我们一起简单的总结一下缓冲流,今天着重看一下BufferReader 和BufferWriter这两个缓冲流。我们知道BufferReader是缓冲流,那么何为缓冲流,效率如何提高呢?BufferReader中有一个字符数组缓冲区,这个字符缓冲区有默认缓冲大小,或者你可以指定缓冲区的大小。当程序运行时,会启动IO操作,将源中的数据读取出来,一次将缓冲区读满。当我们进行其他操作时,读取到一个字符数组,读取一行等。都是读取的是缓冲区的内容。当缓冲区的内容不够读取时,这时在启动IO操作,将读完的的数据在重新填充。这样减少IO操作,提高效率。同时BufferWrite也是将缓冲区填满后,然后自动开启IO操作。
1.BufferReader和BuffereWrite的常用用法:
public class TestBufferedReader {
public static void main(String[] args) {
//read();
try {
BufferedWriter bw = new BufferedWriter(
new FileWriter(
new File("e:/io/a.txt")));
String msg="你好";
bw.write(msg);
String msg2="范冰冰";
/*****
bw的这几个write是将这些数据填充到
内存缓冲区中,只有缓冲区满了,才开启
IO操作,或者调用flush()自动开启IO操作
********/
bw.write(msg2);//将数据填充到缓冲区
bw.newLine();
bw.write(msg2);
bw.write(msg2);
bw.newLine(); //写入空的换行
bw.write(msg2);
bw.flush(); //刷新缓冲区
bw.close();
} catch (Exception e) {
// TODO: handle exception
}
}
private static void read() {
try {
//减少了IO的读写次数,提高效率(一次可以将整个缓冲区填满)
BufferedReader br = new BufferedReader(
new FileReader(
new File("e:/io/a.txt")));
String line="";
//打印缓冲区中的内容
while((line=br.readLine())!=null)
{
System.out.println(line);
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
本文出自 “没有水勒鱼” 博客,请务必保留此出处http://javaqun.blog.51cto.com/10687700/1703137
原文地址:http://javaqun.blog.51cto.com/10687700/1703137