第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

掃描器與緩沖閱讀器

掃描器與緩沖閱讀器

胡說叔叔 2019-06-19 10:31:58
掃描器與緩沖閱讀器據(jù)我所知,從java文件中讀取基于字符的數(shù)據(jù)的兩種最常見的方法是:Scanner或BufferedReader..我也知道BufferedReader使用緩沖區(qū)有效地讀取文件,以避免物理磁盤操作。我的問題是:是嗎?Scanner表現(xiàn)得很好BufferedReader?你為什么要選擇Scanner過關(guān)BufferedReader反之亦然?
查看完整描述

3 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

Scanner用于解析流內(nèi)容中的令牌,而BufferedReader只讀取流,不執(zhí)行任何特殊的解析。

實(shí)際上,您可以通過BufferedReader轉(zhuǎn)到scanner作為要解析的字符的來源。


查看完整回答
反對(duì) 回復(fù) 2019-06-19
?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

看這個(gè)鏈接,引述如下:

BufferedReader是一個(gè)簡單的類,目的是有效地從底層流中讀取。通常,像FileReader一樣,每個(gè)由Reader發(fā)出的讀取請(qǐng)求都會(huì)導(dǎo)致向底層流發(fā)出相應(yīng)的讀取請(qǐng)求。每次調(diào)用read()或readLine()都會(huì)導(dǎo)致從文件中讀取字節(jié),轉(zhuǎn)換為字符,然后返回,這可能非常低效。如果讀取器在BufferedReader中被扭曲,效率會(huì)顯著提高。

BufferedReader是同步的,因此可以安全地從多個(gè)線程對(duì)BufferedReader進(jìn)行讀取操作。

另一方面,掃描儀內(nèi)置了更多的奶酪;它可以完成BufferedReader所能做的所有事情,而且效率也是一樣的。但是,掃描程序還可以使用正則表達(dá)式解析基本類型和字符串的底層流。它還可以使用您選擇的分隔符來標(biāo)記底層流。它還可以對(duì)底層流進(jìn)行前向掃描,而不考慮分隔符!

然而,掃描器并不是線程安全的,它必須是外部同步的。

選擇使用BufferedReader或Scaner取決于您正在編寫的代碼,如果您正在編寫一個(gè)簡單的日志讀取器緩沖讀取器就足夠了。但是,如果您正在編寫XML解析器,則掃描程序是更自然的選擇。

即使在讀取輸入時(shí),如果希望逐行接受用戶輸入并將其添加到文件中,那么BufferedReader就足夠了。另一方面,如果希望將用戶輸入接受為具有多個(gè)選項(xiàng)的命令,然后打算根據(jù)指定的命令和選項(xiàng)執(zhí)行不同的操作,則掃描器將更適合。


查看完整回答
反對(duì) 回復(fù) 2019-06-19
  • 3 回答
  • 0 關(guān)注
  • 347 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)