在这里快点。
使用java.io.Console
而不是BufferedReader
将InputStreamReader
包裹在System.in
中有什么好处?
我为什么要用它?
感谢您的任何建议!
答案 0 :(得分:10)
因为它的代码已经为你编写了......不需要重新发明轮子。有可能,你不会比现在更好。
答案 1 :(得分:9)
您可以使用java.io.Console
向用户显示交互式命令行。您可以自己使用System.in
执行所有操作,但是您必须实现注意输入完成时的注意事项,或readPassword
等。
答案 2 :(得分:6)
请参阅java.io.Console is finally here!
最受欢迎的功能之一 最近对J2SE的请求有 一直是改进控制台的要求 支持并提供进入的方式 密码已禁用回声。 开发人员知道此功能4050435 因为它一直在前25名中徘徊 RFE列出了一段时间。
答案 3 :(得分:3)
java.io.Console仅在从命令行启动Java程序时才有效,而不重定向STDIN / STDOUT。
我在Console over System.in中看到的主要优点是你有readPassword()方法,它不会回应用户输入的字符(我找不到用System.in做这个的方法) )。
您还有readLine(),它将显示提示并读取一行。您不必创建自己的LineNumberReader。
但是,如果您希望Java程序在从文件或管道重定向时能够从STDIN读取,您仍然必须使用System.in。
答案 4 :(得分:2)
另一个技巧我很确定你不会使用Console - 我创建了自己的输入和输出流并用它们取代了System.in/out。我的流的实现附加到日志文件以及回显到屏幕。
当我打开我的穷人的“调试信息”时,我甚至可以告诉我sysout来自哪个程序/行(虽然它很慢。它创建了一个异常并检查了相应的堆栈条目,所以它是默认情况下关闭)
答案 5 :(得分:-2)
java.io.Console
用于在运行时获取和读取用户的输入,并在处理来自用户的输入后显示输出。
有关更多详细信息,请访问https://www.examsmyantra.com/article/58/java/java-io---console-input-and-output