Java 缓冲流介绍

来源:互联网 发布:pro tools 12.8.2 mac 编辑:程序博客网 时间:2024/06/05 08:31

不用缓冲流的话,程序是读一个数据,写一个数据,大量占用了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();        }    }}
原创粉丝点击