不用缓冲流的话,程序是读一个数据,写一个数据,大量占用了CPU,(本来CPU可以一次多处理内容的)处理这样在数据量大的程序中非常影响效率。缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了。
缓冲输入流BufferedInputStream
缓冲输出流BufferedOutputStream
public class BufferedDemo {
public static void main(String[] args) {
try {
FileOutputStream fos = new FileOutputStream("imooc.txt");
BufferedOutputStream bos = new BufferedOutputStream(fos);
FileInputStream fis = new FileInputStream("imooc.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
long startTime = System.currentTimeMillis();//1970-01-01到当前时间经过的毫秒数
bos.write(50);
bos.write('a');
// 缓冲区未满,不会自动触发写操作
bos.flush();// 强制清空缓冲区
System.out.println(bis.read());
System.out.println((char) bis.read());
long endTime = System.currentTimeMillis();
System.out.println(endTime-startTime);//时间太短显示不出来
fos.close();
bos.close();
fis.close();
bis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}