2017-05-29 6 views
-1

SystemBufferedReaderでファイルを読み取る方法の違いは何ですか? diffスキャナとBufferedReaderとは何ですか

\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

両方が標準入力のためのものですが、BufferedReaderだけのストリームを読み込み、特別な構文解析を行いませんがScannerは、ストリームの内容からトークンを解析するために使用されているが。

  • BufferedReaderは​​であり、あなたが複数のスレッドで作業している場合Scannerはdecide.Use BufferedReaderにあなたにそのアップして、ではありません。
  • Scannerには、BufferedReader(8KBバイトバッファ)とは対照的に、小さなバッファ(1KBのcharバッファ)がありますが、十分です。
  • BufferedReaderはスキャナに比べて少し速いです。
  • BufferedReaderながらスキャナはIOExceptionを隠しファイルを「解析」したい場合は、それが選択的に入力を読み取るために多くの機能を提供し
+0

bufferedReaderではどのような同期が行われますか? –

+0

** BufferedReaderは同期されているため、BufferedReaderの読み取り操作は複数のスレッドから安全に実行できます** –

関連する問題