Рассматривая учебные пособия по Java, кажется, вам нужно обернуть несколько слоев объектов при объявлении сканера, например. http://docs.oracle.com/javase/tutorial/essential/io/scanning.htmlОбъявление сканера для чтения system.in
s = new Scanner(new BufferedReader(new FileReader("xanadu.txt")));
имеет как BufferedReader
и FileReader
. Однако, если я читаю от System.in
, мне нужно/есть ли какое-либо преимущество для этого? Имеют ли две опции поведение по-другому?
Scanner s = new Scanner(new BufferedReader(new InputStreamReader(
System.in)));
против
Scanner s = new Scanner(System.in);
В то время как буферизация может помочь с большими файлами, я не вижу никакого преимущества в использовании его с помощью ввода с клавиатуры ('System.in'). И только для того, чтобы предотвратить будущие проблемы, при открытии 'Scanner' для' System.in' либо закрывайте его в самом конце вашего кода (после того, как все прочитано) или вообще не закрываются. –
'System.in' может также поступать из файла с использованием перенаправления – kichik