浅谈BufferedReader中的read方法和readLine方法

前言:本人比较菜啦,如果有错误,还请大佬指正。

1. read方法

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

这是怎么一回事呢?
首先我们回到Read类中的read方法简介去看

这里说明了高效单字符输入的子类应该覆盖此方法,答案已经显而易见了,BufferedRead中的read()方法覆盖了原Read中的read()方法并提高了效率。

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

  其实,BufferedReader作为Read的一种缓冲区,其实就是为了提高效率的,原理其实很简单:在Read类中的read()方法是将硬盘上的字符一个个读取出来使用,而BufferedReader中的read()方法是将缓冲区中的字符一个个读出来使用,缓冲区是主内存中特地预留出的内存,从缓冲区里面取数据的效率一般是比直接在硬盘上取数据要快的...(缓冲区我就不介绍了,直接上例子)**就好比**:厨房里面有一大堆包子,之前每次你想吃包子总是需要跑到厨房去拿,而现在有了一个大盘子(缓冲区),你就可以现在盘子里装好包子,然后想吃的时候去盘子里拿一个就好了。简单来说就是一句话:覆盖后的read()方法效率更高...

2. readLine方法

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

  • readLine方法其实是使用了缓冲区的read方法(就是上面讲到的read方法),将读到的字符进行缓冲(缓冲在一个临时容器里面),读到换行符(\n或者\r,这个主要是考量在不同操作系统上的换行符不一样)就停止(ps:不会把换行符读进去的哈),然后将结果以字符串的形式返回。

浅谈BufferedReader中的read()方法和readLine()方法相关推荐

  1. python中怎么调用函数_浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时 ...

  2. python函数定义及调用-浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数�C封装独立的功能 2.调用函数�C享受封装的成果 函数的作用:在开 ...

  3. 单一修改高程值lisp_浅谈AutoCAD中修改高程的四种方法

    浅谈 AutoCAD 中修改高程的四种方法 摘 要: 在使用 AutoCAD 进行数字化成图工作中,经常遇到线划的标高不为零,及高程点的值与实地不符,需要对其进行修改等情况,结合实 际工作经验,简单介 ...

  4. Java 8 辣么大(lambda)表达式不慌之—–(四)示例-Collectors中的中的joining 方法和mapping方法

    Java 8 辣么大(lambda)表达式不慌之-–(四)示例-Collectors中的joining 方法和mapping方法 joining 方法 mapping方法 先定义好后面做示例要用的数据 ...

  5. JS中的call()方法和apply()方法用法总结

    1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用是一样的. 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖 ...

  6. asp.net TemplateField模板中的Bind方法和Eval方法

    TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现.以下是Bind方法的格式,Eval的格式也是和Bind一样的. Bind("列 ...

  7. TP框架中的A方法和R方法

    ThinkPHP 跨模块调用操作方法(A方法与R方法) 跨模块调用操作方法 前面说了可以使用 $this 来调用当前模块内的方法,但实际情况中还经常会在当前模块调用其他模块的方法.ThinkPHP 内 ...

  8. 【网络】HTTP中的GET方法和POST方法

    1.GET方法:获取资源 GET方法用来请求访问已被URL识别的资源.指定的资源经服务器端接续后返回内容.也就是说,如果请求的资源是文本,那就保持原样返回:如果像是CGI(Conmmon Gatewa ...

  9. 普歌-码灵团队-java中的equals方法和toString方法及总结

    普歌-码灵团队:Object类中的方法介绍及其用法 一.Object类 二.方法介绍 1.toString方法 2.重写equals方法: 3. 拓展 三.总结 一.Object类的简单介绍 二.Ob ...

最新文章

  1. 从高排到低变成小楼梯儿歌_【课程采风】古运萌宝安全小知识之小剪刀的秘密...
  2. 构建linux下的web服务器
  3. Xamarin Essentials教程安全存储SecureStorage
  4. android 自定义 theme,Android使用Theme自定义Activity进入退出动画的方法
  5. Java ByteArrayInputStream skip()方法与示例
  6. 通过EasyRecovery如何恢复被永久删除的音频?
  7. git 暂存文件操作 stash
  8. pythonpdf使用教程_Python基础学习教程:Python玩转PDF各种骚操作大全
  9. 滚动率分析(Roll Rate Analysis)
  10. view函数_python测试开发django63.基于函数的视图(@api_view())
  11. Java语言程序设计(基础篇)课后答案
  12. VvvebJs可视化前端设计开发工具
  13. pikachu靶场打靶分析
  14. Latex通过bib文件转出bbl文件
  15. 光纤猫上的LOS灯红色闪烁解决方法
  16. wps怎么统一修改标点符号_标点符号采用宋体全角 wps标点统一全角
  17. Opencv -- 18图像像素类型转换与归一化
  18. 17 重定向(Redirect) vs 转发(Forward)
  19. excel wind插件使用_Excel实现聚光灯效果?今天手把手教你制作,没想到它竟如此容易...
  20. Unity-3D相机跟随控制

热门文章

  1. python编写烟花模拟器代码
  2. java乘方编程_30 个java编程技巧
  3. 南阳理工学院计算机二级成绩查询,南阳理工学院2012年上半年全国计算机等级考试报名通知...
  4. 互联网+智慧人才:全面提升人才工作协同、服务、监管、决策的综合水平
  5. python安装idle_安装 Python IDLE (Linux)
  6. 如何下载北辰区卫星地图高清版大图?
  7. 进程调度的几种方式与算法简介
  8. Linux命令之删除用户userdel
  9. 立体环绕音色带来的震撼 这两款时尚蓝牙音箱很别致
  10. mysql慢查询记录到表_MySQL慢查询记录原理和内容解析