【问题标题】:How to create an editable command line prompt in Java?如何在 Java 中创建可编辑的命令行提示符?
【发布时间】:2015-07-08 08:12:37
【问题描述】:

是否可以在 Java 中创建可编辑的命令行提示符?

目前我的命令行如下所示:

Scanner scanner = new Scanner(System.in);
System.out.format("Enter new value, press Return for keeping old value [%s]:", oldValue);
String newValue = scanner.next();

编辑:

虽然这在正常情况下应该可以工作,但我可能会有一个命令行,填充旧值并让我编辑它,最后在按 Return 时获取新值;类似于控制台的可编辑文本字段

我尝试过 jLine2 类似的东西:

ConsoleReader reader = new ConsoleReader;
reader.putString("2");
String input = reader.readLine();

...但不幸的是,这会隐藏值 2,直到我按 Key "2" 并删除退格键上的整行...而且由于 jLine2 在 Github 上,我不知道这是否可能?

【问题讨论】:

    标签: java command-line


    【解决方案1】:

    您可以为此使用外部库,例如https://github.com/jline/jline2/wiki/JLine-2.x-Wiki

    【讨论】:

    • 不要发布仅链接的答案:如果您要链接的网站因任何原因而关闭,那么此答案将失去任何意义。您应该在答案中包含您链接到的网站的相关信息,并将链接作为参考和进一步阅读。
    【解决方案2】:

    如果您要求只读取标准输入的完整行,您可以使用不久前提出的解决方案: Readlines from console

    【讨论】:

    • 不要发布仅链接的答案:如果您要链接的网站因任何原因而关闭,那么此答案将失去任何意义。您应该在答案中包含您链接到的网站的相关信息,并将链接作为参考和进一步阅读。
    • 在这里并不真正适用......链接是另一个 SOF 问题......或者换句话说:不要简单地将你的答案发送到任何地方;-)
    • 我可以在这里复制代码,但我不想声明它的作者身份:S
    • @crigore 只要您正确注明原作者(如果您觉得有必要,也可以将您的答案设为社区 wiki),那么我认为它没有任何问题。但是,即使是 SO 问题/答案也可能会被删除,所以我仍然建议抓住相关部分 - 只需正确注明原作者即可。
    • @JonK 好的,我会尝试这样做。我还是这个世界上的新人。谢谢!
    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2021-08-28
    • 2017-06-06
    相关资源
    最近更新 更多