BufferedReader中read()方法和readLine()方法的使用
read方法
查看API文檔我們可以發(fā)現(xiàn)BufferedReader類中的read()方法**(無參數(shù)的)**并不是繼承于Read類中的read方法。

這是怎么一回事呢?
首先我們回到Read類中的read方法簡介去看

這里說明了高效單字符輸入的子類應(yīng)該覆蓋此方法
答案已經(jīng)顯而易見了
BufferedRead中的read()方法覆蓋了原Read中的read()方法并提高了效率
BufferedReader中的read()方法與Read中的read方法有什么區(qū)別?
其實(shí),BufferedReader作為Read的一種緩沖區(qū),其實(shí)就是為了提高效率的,原理其實(shí)很簡單:
在Read類中的read()方法是將硬盤上的字符一個(gè)個(gè)讀取出來使用,
而BufferedReader中的read()方法是將緩沖區(qū)中的字符一個(gè)個(gè)讀出來使用,緩沖區(qū)是主內(nèi)存中特地預(yù)留出的內(nèi)存,
從緩沖區(qū)里面取數(shù)據(jù)的效率一般是比直接在硬盤上取數(shù)據(jù)要快的...(緩沖區(qū)我就不介紹了,直接上例子)
**就好比**:
- 廚房里面有一大堆包子,之前每次你想吃包子總是需要跑到廚房去拿,而現(xiàn)在有了一個(gè)大盤子(緩沖區(qū)),
- 你就可以現(xiàn)在盤子里裝好包子,然后想吃的時(shí)候去盤子里拿一個(gè)就好了。
簡單來說就是一句話:
- 覆蓋后的read()方法效率更高...
readLine方法
BufferedReader中比較有意思的方法就是這個(gè)readLine方法了,這個(gè)方法是讀取一行字符的,其實(shí)原理也很簡單。
readLine方法其實(shí)是使用了緩沖區(qū)的read方法(就是上面講到的read方法)
將讀到的字符進(jìn)行緩沖(緩沖在一個(gè)臨時(shí)容器里面),讀到換行符(\n或者\(yùn)r
這個(gè)主要是考量在不同操作系統(tǒng)上的換行符不一樣)就停止(ps:不會(huì)把換行符讀進(jìn)去的哈),然后將結(jié)果以字符串的形式返回
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot使用@Cacheable注解實(shí)現(xiàn)緩存功能流程詳解
最近一直再學(xué)Spring Boot,在學(xué)習(xí)的過程中也有過很多疑問。為了解答自己的疑惑,也在網(wǎng)上查了一些資料,以下是對(duì)@Cacheable注解的一些理解2023-01-01
Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:選擇排序 Selection Sort
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:選擇排序 Selection Sort,本文直接給出實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06
APT?注解處理器實(shí)現(xiàn)?Lombok?常用注解功能詳解
這篇文章主要為大家介紹了使用APT?注解處理器實(shí)現(xiàn)?Lombok?常用注解功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Java 動(dòng)態(tài)加載jar和class文件實(shí)例解析
這篇文章主要介紹了Java 動(dòng)態(tài)加載jar和class文件實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
SpringBoot中yml多環(huán)境配置的3種方法
這篇文章主要給大家介紹了SpringBoot中yml多環(huán)境配置的3種方法,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-10-10
Java多線程編程之讀寫鎖ReadWriteLock用法實(shí)例
這篇文章主要介紹了Java多線程編程之讀寫鎖ReadWriteLock用法實(shí)例,本文直接給出編碼實(shí)例,需要的朋友可以參考下2015-05-05
Java多線程通訊之wait,notify的區(qū)別詳解
這篇文章主要介紹了Java多線程通訊之wait,notify的區(qū)別詳解,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2018-07-07
從零到掌握Spring Boot Validation 接口校驗(yàn)的詳細(xì)過程
本文詳細(xì)介紹了SpringBoot的Validation接口校驗(yàn)機(jī)制,包括其核心功能、常用注解、自定義校驗(yàn)、以及實(shí)際應(yīng)用場景,通過注解定義數(shù)據(jù)校驗(yàn)規(guī)則,感興趣的朋友跟隨小編一起看看吧2025-02-02

