【发布时间】:2014-10-07 04:05:44
【问题描述】:
查看 Java 教程,您似乎必须在声明扫描仪时包装多层对象,例如http://docs.oracle.com/javase/tutorial/essential/io/scanning.html
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)。为了防止将来出现问题,当为System.in打开Scanner时,要么在代码的最后关闭它(在读取所有内容之后),要么根本不关闭。 -
System.in也可以使用重定向来自文件
标签: java java.util.scanner system.in