Сканер против BufferedReader - PullRequest
       55

Сканер против BufferedReader

260 голосов
/ 09 февраля 2010

Насколько мне известно, два наиболее распространенных метода чтения символьных данных из файла в Java - это Scanner или BufferedReader. Я также знаю, что BufferedReader читает файлы эффективно, используя буфер, чтобы избежать операций с физическим диском. Мои вопросы:

  • Работает ли Scanner так же хорошо, как BufferedReader?
  • Почему вы бы выбрали Scanner вместо BufferedReader или наоборот?

Ответы [ 12 ]

0 голосов
/ 28 ноября 2016

Я предпочитаю Scanner, потому что он не генерирует проверенные исключения и, следовательно, его использование приводит к более упорядоченному коду.

0 голосов
/ 09 февраля 2010
  1. BufferedReader, вероятно, даст вам лучшую производительность (поскольку Scanner основан на InputStreamReader, посмотрите источники). ups, для чтения из файлов, которые он использует nio. Когда я тестировал производительность nio по сравнению с BufferedReader для больших файлов, nio показывал немного лучшую производительность.
  2. Для чтения из файла попробуйте Apache Commons IO.
...