2017-05-29 91 views
-1

讀取文件SystemBufferedReader之間有什麼區別? 什麼是diff掃描儀和緩衝讀取器

\t File fileName = new File("E:/go.txt"); 
 
\t \t Scanner obj = new Scanner(fileName); 
 
\t \t int largest = 0; 
 

 
\t \t while (obj.hasNextInt()) { 
 
\t \t \t int input = obj.nextInt(); 
 
\t \t \t if (largest < input) { 
 

 
\t \t \t \t largest = input; 
 
\t \t \t } 
 
\t \t \t 
 
\t \t } 
 
\t \t System.out.println("largest no. is:" + largest);

+0

使用掃描儀,如果你想「解析」一個文件,它提供了很多功能,有選擇地讀取輸入。使用BufferedReader + FileReader讀取文件的所有內容。 – TheLostMind

回答

1

雖然兩個都是爲了標準輸入,但Scanner用於從數據流中的內容解析令牌而BufferedReader只是讀取數據流,並沒有做任何特殊的解析。

  • BufferedReader是​​和Scanner是沒有,所以它的你來decide.Use BufferedReader,如果你正在使用多線程工作。
  • 與BufferedReader(8KB字節緩衝區)相比,Scanner有一個小緩衝區(1KB字符緩衝區),但它已經足夠了。
  • BufferedReader與掃描儀相比有點快。
  • 掃描隱藏IOExceptionBufferedReader拋出立即
+0

什麼類型的同步在bufferedReader中完成? –

+0

** BufferedReader是同步的,所以BufferedReader上的讀操作可以安全地從多個線程完成** –