如何返回到行的开头并覆盖控制台上已输出的内容?以下似乎不起作用:
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")
并获得“乐趣”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)