java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > BufferedReader read()方法和readLine()方法

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

作者: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()方法是将缓冲区中的字符一个个读出来使用,缓冲区是主内存中特地预留出的内存,

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

**就好比**:

简单来说就是一句话:

readLine方法

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

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

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

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

总结

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

您可能感兴趣的文章:
阅读全文