簡體   English   中英

Scanner構造函數中的BufferedReader

[英]BufferedReader in Scanner's constructor

我正在研究BufferedReader,Scanner和InputStreamReader類及其差異,我理解每個類的目的。 我想要一個解釋來澄清一件事:在Scanner的構造函數中傳遞BufferedReader的目的是什么? 這樣做的具體原因是什么? 以下是我所指的例子。

    Scanner s = null;
    try {
        s = new Scanner(new BufferedReader(new FileReader("file....")));
          //more code here.........

BufferedReader將創建一個緩沖區。 這應該可以更快地從文件中讀取。 為什么? 因為緩沖區充滿了文件的內容。 所以,你把一大塊文件放在RAM中(如果你處理小文件,緩沖區可以包含整個文件)。 現在,如果掃描儀想要讀取兩個字節,它可以從緩沖區讀取兩個字節,而不必向硬盤驅動器請求兩個字節。

一般來說,讀取10次4096字節而不是4096次10字節要快得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM