0

BufferedReader против Console против Scanner: что выбрать?

16

Я новичок в Java и хотел бы узнать, какой способ чтения пользовательского ввода в консоли является наилучшим. Насколько я знаю, есть три способа сделать это:

  1. Console console = System.console();
  2. BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
  3. Scanner reader = new Scanner(System.in);

Какой из этих методов мне выбрать? Почему именно его, а не другие?

1 ответ(ов)

0

Класс Console реализован платформонезависимым образом для обработки консольного ввода на разных операционных системах. Все ОС имеют консоль или оболочку, но их реализации могут значительно различаться. Поэтому класс Console предоставляет вам платформонезависимый класс времени выполнения в Java для доступа к таким вещам, как ввод пароля и т. д.

С другой стороны, Scanner используется для разбора токенов из содержимого потока, тогда как BufferedReader просто читает поток и не выполняет какую-либо специальную обработку или разбор.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь