BufferedReader中read()方法和readLine()方法的使用

 更新时间:2024年04月24日 11:49:37   作者:zero_xk_  
这篇文章主要介绍了BufferedReader中read()方法和readLine()方法的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

read方法

查看API文档我们可以发现BufferedReader类中的read()方法**(无参数的)**并不是继承于Read类中的read方法。

这是怎么一回事呢?

首先我们回到Read类中的read方法简介去看

这里说明了高效单字符输入的子类应该覆盖此方法

答案已经显而易见了

BufferedRead中的read()方法覆盖了原Read中的read()方法并提高了效率

BufferedReader中的read()方法与Read中的read方法有什么区别?

其实,BufferedReader作为Read的一种缓冲区,其实就是为了提高效率的,原理其实很简单:

在Read类中的read()方法是将硬盘上的字符一个个读取出来使用,

而BufferedReader中的read()方法是将缓冲区中的字符一个个读出来使用,缓冲区是主内存中特地预留出的内存,

从缓冲区里面取数据的效率一般是比直接在硬盘上取数据要快的...(缓冲区我就不介绍了,直接上例子)

**就好比**:

  • 厨房里面有一大堆包子,之前每次你想吃包子总是需要跑到厨房去拿,而现在有了一个大盘子(缓冲区),
  • 你就可以现在盘子里装好包子,然后想吃的时候去盘子里拿一个就好了。

简单来说就是一句话:

  • 覆盖后的read()方法效率更高...

readLine方法

BufferedReader中比较有意思的方法就是这个readLine方法了,这个方法是读取一行字符的,其实原理也很简单。

readLine方法其实是使用了缓冲区的read方法(就是上面讲到的read方法)

将读到的字符进行缓冲(缓冲在一个临时容器里面),读到换行符(\n或者\r

这个主要是考量在不同操作系统上的换行符不一样)就停止(ps:不会把换行符读进去的哈),然后将结果以字符串的形式返回

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java 最新Xss攻击与防护(全方位360°详解)

    java 最新Xss攻击与防护(全方位360°详解)

    这篇文章主要介绍了java 最新Xss攻击与防护(全方位360°详解),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用java + OpenCV破解顶象面积验证码的示例

    使用java + OpenCV破解顶象面积验证码的示例

    这篇文章主要介绍了使用java + OpenCV破解顶象面积验证码的示例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • MyBatis-Plus 分页查询以及自定义sql分页的实现

    MyBatis-Plus 分页查询以及自定义sql分页的实现

    这篇文章主要介绍了MyBatis-Plus 分页查询以及自定义sql分页的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Spring项目中使用Junit单元测试并配置数据源的操作

    Spring项目中使用Junit单元测试并配置数据源的操作

    这篇文章主要介绍了Spring项目中使用Junit单元测试并配置数据源的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java的Spring AOP详细讲解

    Java的Spring AOP详细讲解

    章主要为大家详细介绍了Java的Spring AOP,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Java面试synchronized偏向锁后hashcode存址

    Java面试synchronized偏向锁后hashcode存址

    这篇文章主要为大家介绍了Java面试中synchronized偏向锁后hashcode存址详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • SpringMVC实现参数校验配置方法

    SpringMVC实现参数校验配置方法

    这篇文章主要介绍了SpringMVC实现参数校验的配置方式,Spring MVC会抛出MethodArgumentNotValidException异常,并将错误信息绑定到相应的字段上,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • 3分钟快速搞懂Java的桥接方法示例

    3分钟快速搞懂Java的桥接方法示例

    这篇文章主要介绍了3分钟快速搞懂Java的桥接方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 自定义starter引发的线上事故记录复盘

    自定义starter引发的线上事故记录复盘

    这篇文章主要为大家介绍了自定义starter引发的线上事故记录复盘,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Java中实现String字符串用逗号隔开

    Java中实现String字符串用逗号隔开

    这篇文章主要介绍了Java中实现String字符串用逗号隔开,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论