为什么我要在标准流上使用java.io.Console?
我意识到这可能是一个重复的问题,例如。然而,我想要一个更详细的答案(赞成/反对,应用,任何更多) 如果我误解了这一点,请原谅。所以我使用eclipse运行了一个程序,收到了错误消息“No Console”,所以我就让它走,改为通过终端运行它。然而,我有点不清楚为什么console对象会这样做(我认为这是因为它返回null,但我想要一个更详细的答案)。从各种阅读资料来看,各种IDE(如Netbeans和Eclipse)似乎都没有正确地“实现”这一点。这就引出了一个问题,既然这是我第一次看到为什么我要在标准流上使用java.io.Console?,java,Java,我意识到这可能是一个重复的问题,例如。然而,我想要一个更详细的答案(赞成/反对,应用,任何更多) 如果我误解了这一点,请原谅。所以我使用eclipse运行了一个程序,收到了错误消息“No Console”,所以我就让它走,改为通过终端运行它。然而,我有点不清楚为什么console对象会这样做(我认为这是因为它返回null,但我想要一个更详细的答案)。从各种阅读资料来看,各种IDE(如Netbeans和Eclipse)似乎都没有正确地“实现”这一点。这就引出了一个问题,既然这是我第一次看到java
java.io.Console
,为什么我要在标准流上使用它呢?对于使用console的应用程序示例,我们将不胜感激,并且是首选 记住编写的程序为命令行用户提供了许多便利
- 制表符完成
- 历史跟踪
- 密码输入对肩冲浪者安全
- 彩色和格式化输出
- 使用首选寻呼机对文本进行分页
Console
允许经常通过命令行调用的java程序向在交互式shell中调用它的用户提供良好的用户体验
例如,Console.readLine
听起来可能与BufferedReader.readLine
非常相似,但当程序从交互式bash
shell运行时,其行为类似于
描述
readline将从终端读取一行并返回它,使用提示符作为提示符。如果prompt为NULL或空字符串,则不会发出提示。返回的行被分配了malloc(3);调用方必须在完成时释放它。返回的行删除了最后一个换行符,因此只保留该行的文本
readline在用户输入行时提供编辑功能。默认情况下,行编辑命令类似于emacs的命令。还提供了vi风格的线条编辑界面
搜索
Readline提供用于在命令历史记录中搜索包含指定字符串的行的命令。有两种搜索模式:增量和非增量
为什么我要在标准流上使用它 如果您的程序生成文本输出,并且它的用户可能包括经常在交互式shell中调用它的系统管理员,那么他们可能会受益于
控制台为命令行用户提供许多便利的程序
- 制表符完成
- 历史跟踪
- 密码输入对肩冲浪者安全
- 彩色和格式化输出
- 使用首选寻呼机对文本进行分页
Console
允许经常通过命令行调用的java程序向在交互式shell中调用它的用户提供良好的用户体验
例如,Console.readLine
听起来可能与BufferedReader.readLine
非常相似,但当程序从交互式bash
shell运行时,其行为类似于
描述
readline将从终端读取一行并返回它,使用提示符作为提示符。如果prompt为NULL或空字符串,则不会发出提示。返回的行被分配了malloc(3);调用方必须在完成时释放它。返回的行删除了最后一个换行符,因此只保留该行的文本
readline在用户输入行时提供编辑功能。默认情况下,行编辑命令类似于emacs的命令。还提供了vi风格的线条编辑界面
搜索
Readline提供用于在命令历史记录中搜索包含指定字符串的行的命令。有两种搜索模式:增量和非增量
为什么我要在标准流上使用它
如果您的程序生成文本输出,并且它的用户可能包括经常在交互式shell中调用它的系统管理员,那么他们可能会从控制台中受益