【问题标题】:Is it possible to recall a println in Java?是否可以在 Java 中调用 println?
【发布时间】:2013-02-22 06:06:14
【问题描述】:

假设我正在制作一个命令行界面。我想打印一个字符串,然后更改它。例如,当你运行程序时,它会打印出来

Hello, World!

不过,几秒钟后,消息变为:

Hello, Computer User!

这可能吗?跨操作系统会更好。

【问题讨论】:

  • 查找“诅咒” - 见stackoverflow.com/questions/439799/…
  • @pst - curses 不完全是跨操作系统的。
  • @TedHopp 但是一个等效的 Java 实现是(或者可以预期的)——我添加的链接是通过[java] curses 非常简单地找到的。

标签: java command-line-interface


【解决方案1】:

您可以回显\b 转义序列,即退格,然后写出一条新消息来代替旧消息。

请注意,这可能不是完全跨平台的,因为它取决于控制台本身以及它如何解释\b,但它应该可以正常工作。

【讨论】:

  • 我不知道这存在。太感谢了。我现在要去试试这个。
【解决方案2】:

试试

    String s1 = "Hello, word!";
    System.out.print(s1);
    Thread.sleep(1000);
    for(int i = 0; i < s1.length(); i++) {
        System.out.print('\b');
    }
    System.out.print("Hello, computer user");

注意它在 Eclipse 中不起作用,请从命令行运行它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    相关资源
    最近更新 更多