Java基础学习之理解Buffer的原理和使用

流和缓冲区

Buffer即缓冲区,是包含有一定量数据的容器。有些人认为流就是缓冲区,其实非也。流是随着时间产生的数据序列,而缓冲区顾名思义就是起缓冲作用的,缓冲的本质是排队,流的本质是数据。缓冲区我们可以理解为一个水管,满足FIFO,如果我们不设置缓冲区,那么就会增加系统的不稳定性和安全性。比如系统对接过程中,不设置缓冲区,对于其它系统作出的请求都得立即响应,疲于奔命直至系统崩溃。而增加缓冲区成本低,可以批量处理,效果杠杠的。
在这里插入图片描述

在Java我们比较熟悉的数据流主要包含四种基本的类,InputStream、OutputStream、Reader及Writer类,它们分别处理字节流和字符流,接下来我们将通过文件写入和读取的例子来熟悉流和缓冲区的差别及使用。


文件读取和写入

我们在进行文件读取的时候,可以通过FileInputStream(继承InputStream抽象类)通过字节的方式读取文件,适合读取所有类型的文件(图像、视频、文本文件等)。Java也提供了FileReader专门读取文本文件。

FileOutputStream(继承OutputStream抽象类) 通过字节的方式写数据到文件中,适合所有类型的文件。Java也提供了FileWriter专门写入文本文件。

 		Random random=new Random();
        String fileName="word";
        FileOutputStream out=new FileOutputStream(fileName);
        long start=System.currentTimeMillis();
        for(int i=0;i<1000000;i++){
   
            for(int j=0;j<5;j++){
   
                out.write(97+random.nextInt(5));
            }
        }
        out.close();
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值