java - 如何在控制台中返回到行首?

标签 java console

如何返回到行首并覆盖控制台上已经输出的内容?以下似乎不起作用:

System.out.print(mystuff+'\r');

最佳答案

我怀疑您的光标正在移动到行首。你已经拥有的文本并没有消失,因为你没有用任何东西覆盖它。您可以输出空格以空白行,然后添加另一个\r。

我刚刚在 Windows XP 和 AIX 上测试了以下内容,它按预期工作:

public class Foo {
  public static void main(String[] args) throws Exception {
   System.out.print("old line");
   Thread.sleep(3000);
   System.out.print("\rnew");
  }
}

我打印出“旧行”,延迟 3 秒,然后“旧行”变为“新行”

我故意让第一行比第二行长,以证明如果你想删除整行,你必须用空格覆盖结尾。

还请注意,“\b”转义序列将备份 1 个空格,而不是到行首。所以如果你只想删除最后 2 个字符,你可以写:

System.out.println("foo\b\bun")

并获得“乐趣”。

关于java - 如何在控制台中返回到行首?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301759/

相关文章:

php - 如何在 PHP 中写入控制台?

java - 方法 getSupportFragmentManager() 未定义类型 new AdapterView.OnItemClickListener(){}

java - 如何在写入后清除 PrintWriter 的内容

php - 如何使用 Laravel 的 command fire 方法运行 python 脚本?

c++ - 检查是否在 Windows 控制台中按下了键

Xcode 4.3.1 - 切换到输出/控制台窗口快捷方式

java - 如何使用所有文件之间的 shell 脚本计算一些值,以便输出是所有矩阵?

java验证文本文件中的变量

java - 如何比较 GWT 中的语言环境字符串?

c++ - 控制台键盘命中检测和解释