为什么要使用java.io.Console?

时间:2009-06-09 22:25:59

标签: java input console

在这里快点。

使用java.io.Console而不是BufferedReaderInputStreamReader包裹在System.in中有什么好处?

我为什么要用它?

感谢您的任何建议!

6 个答案:

答案 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