我意识到这可能是一个重复的问题,例如Why Use java.io.Console?。但是,我想要一个更详细的答案(优点/缺点,应用程序,还有更多)。
如果我误解了这个,请原谅我。所以我使用eclipse运行了一个程序,我收到了错误消息“No Console”,所以我只是让它通过Terminal运行它。但是,我有点不清楚为什么控制台对象这样做(我认为这是因为它返回null,但我想要一个更详细的答案)。从各种读取,似乎各种IDE,如Netbeans和Eclipse没有正确“实现”这一点。所以它引出了我的问题,因为这是我第一次看到java.io.Console
,为什么我要在标准流中使用它?使用控制台的应用程序的示例值得赞赏和首选!
答案 0 :(得分:4)
用interactive shells编写的程序为命令行用户提供了很多便利
Console
允许通过命令行调用的java程序为在交互式shell中调用它的用户提供良好的用户体验。
例如,Console.readLine
可能听起来与BufferedReader.readLine
非常相似,但当程序从交互式bash
shell运行时,其行为类似于UNIX readline
描述
readline将从终端读取一行并将其返回,并使用提示作为提示。如果prompt为NULL或空字符串,则不会发出提示。返回的行分配了malloc(3);调用者必须在完成后释放它。返回的行删除了最后的换行符,因此只保留行的文本。
readline在用户输入行时提供编辑功能。默认情况下,行编辑命令与emacs类似。还有一个vi风格的线编辑界面。
...
SEARCHING
Readline提供了用于在命令历史记录中搜索包含指定字符串的行的命令。有两种搜索模式:增量和非增量。
为什么我要在标准流中使用它?
如果您的程序产生文本输出,并且其用户可能包含经常在交互式shell中调用它的系统管理员,则他们可能会从Console
中受益。