您好我是Java
的新手,我想知道在控制台中读取用户输入的最佳选择是什么,据我所知,有3种方法可以做到:
Console console = System.console();
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
Scanner reader = new Scanner(System.in);
我应该选择哪一个?为什么那个而不是其他人?
答案 0 :(得分:52)
读取数字的方法非常有用。未选中异常,因此您不必编写样板try / catch块。
答案 1 :(得分:4)
现在BufferedReader从字符输入流中读取文本,缓冲字符,以便有效地读取字符,数组和行。可以指定缓冲区大小,或者可以使用默认大小。对于大多数用途,默认值足够大。
其中Scanner是一个简单的文本扫描程序,可以使用正则表达式解析基本类型和字符串。扫描程序使用分隔符模式将其输入分解为标记,分隔符模式默认匹配空格。然后可以使用各种下一种方法将得到的标记转换成不同类型的值。 Scanner用于从流的内容中解析令牌,而BufferedReader只读取流并且不进行任何特殊的解析。
还要检查以下链接,它一定会帮助你.......
答案 2 :(得分:3)
控制台类尝试实现与平台无关的方式来处理控制台输入。所有操作系统都有一个控制台,但它们在实现方面是不同的。因此,Console类为您提供了一个独立的运行时类Java平台,用于访问密码输入等内容。
Scanner用于从流的内容中解析令牌,而BufferedReader只读取流并且不进行任何特殊的解析。