用Java获取用户输入哪种方法更好?
reader = new BufferedReader(new InputStreamReader(System.in));
或
通过使用控制台 - > Console c = System.console();
两者之间的区别是什么,使用哪一个。或者除了这两种方法之外还有其他更好的方法吗?
答案 0 :(得分:2)
最近向Java(Java 6)引入了控制台,以便更轻松地读取和写入命令行。因此,我会使用Console。
答案 1 :(得分:1)
我建议您Scanner类从控制台获取用户输入
Scanner in = new Scanner(System.in);
in.next();
int i = in.nextInt();
float f = in.nextFloat();
double d = in.nextDouble();
String s = in.nextLine();
和其他漂亮的方法
但在这两者之间,我建议您使用控制台
答案 2 :(得分:0)
它们几乎相同,但是,控制台还有其他方法可以安全地从用户那里读取信息(例如密码),并返回更直观的结果,以确定底层平台是否确实支持控制台操作或是否在非互动环境
答案 3 :(得分:0)
访问基于字符的方法 控制台设备(如果有)关联 使用当前的Java虚拟机。
因此,实现是特定于操作系统的,而不是平台独立的(可能存在或不存在)。
使用Consol,即使你无法从标准输入读取:
echo 123 | java Test
如果Test正在使用Console,它将无法正常工作。因此用户必须从控制台提供输入。