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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

FileInputStream 沒有緩沖,為什么 BufferedInputStream 更快?

FileInputStream 沒有緩沖,為什么 BufferedInputStream 更快?

阿波羅的戰(zhàn)車 2021-10-27 16:57:59
關(guān)于IO,我有兩個問題。答:在教程和一些 StackOverflow 答案中,他們聲稱FileInputStream沒有緩沖。真的嗎 ?以下代碼用于FileInputStream將數(shù)據(jù)讀入字節(jié)數(shù)組(1024 字節(jié))class Test {    public static void main(String[] args) throws IOException {        FileInputStream fis = new FileInputStream("./fos.txt");        FileOutputStream fos = new FileOutputStream("./copy.txt");        byte[] buffer = new byte[1024];   // Is this a buffer ?         int len;        while ((len = fis.read(buffer))!= -1) {            fos.write(buffer);        }        fos.close();        fis.close();    }}從 API 中,有一行:public int read(byte b[]) 拋出 IOException@param b:讀取數(shù)據(jù)的緩沖區(qū)。B、如果都被緩沖了,都將數(shù)據(jù)放入緩沖區(qū),然后從緩沖區(qū)中取數(shù)據(jù),究竟是哪里BufferedInputStream比 快FileInputStream?謝謝
查看完整描述

2 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗 獲得超5個贊

FileInputStream 確實沒有緩沖,但它在讀取時確實提供了有限的緩沖能力。

最大的區(qū)別是 BufferedInputStream 支持 mark() 和 reset() 而 FileInputStream 不支持。

mark(int readlimit) 將允許您在流中設(shè)置一個位置供以后使用。reset() 會將您在流中的位置設(shè)置為 mark(int readLimit) 中指定的位置

為了支持 mark() 和 reset() BufferedInputStream 必須維護(hù)一個內(nèi)部緩沖區(qū),而 FileInputStream 則不會。


查看完整回答
反對 回復(fù) 2021-10-27
  • 2 回答
  • 0 關(guān)注
  • 257 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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