2017-05-29 38 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上的读操作可以安全地从多个线程完成** –