В начале курса было представлено два метода работы с вводом/выводом, я предпочел использовать, и до сих пор использую более лаконичный способ Scanner sc = new Scanner(System.in), но в то же время авторы всегда применяют второй, более объемный метод.
Мой вопрос: насколько вообще актуален и необходим более объемный метод, стоит ли его использовать, и не критично остаться и на "Сканнере".
TechnoDamo
Level 17
Метод ввода/вывода
Under discussion
Comments (2)
- Popular
- New
- Old
You must be signed in to leave a comment
Стас Пасинков Software Developer at ZipyMaster
20 January, 04:11
Scanner треба тим, хто не розуміє всієї величі new BufferedReader(new InputStreamReader(System.in)) 😄
як тільки зрозумієте це - одразу зрозумієте який набір задач можна вирішувати за допомогою того, і який набір задач (значно менший) ви зможете робити за допомогою Scanner-а.
Scanner підходить для задачок рівня джавараша. як тільки ви переростете цей рівень - ви вже дуже рідко будете Scanner використовувати взагалі у житті))
0
Денис Enterprise Java Developer
19 January, 21:02
Одно то что эти классы существуют может натолкнуть на мысль что они как минимум необходимы оба.
Буферизированные методы ввода-вывода логично использовать там где нужно работать с буфером, да и у сканера, положа руку на сердце гораздо больше сценариев применения чем читать из консольки )
Я уже молчу, что сканер не то чтобы подпадает под понятие "вывод" данных :)
Кроме того, что мешает их использовать вместе? Сканером читать пользовательский ввод, буфферным ридером какой ни будь файл, имя которого пользователь ввёл.
Хотя на практике все равно народ использует Input/Output stream'ы голые в основном. Куда более гибкий подход программировать на уровне интерфейса и они хорошо поддерживаются библиотеками.
+2