我希望我的程序能够删除它打印的所有文本。每次打印时,我都会调用print()
方法而不是System.out.print()
,但是当我调用erase()
方法时,它似乎在Windows 7控制台中没有做任何事情。我无法弄清楚是什么了;我单独进行了一项测试,确认\b
确实删除了字符,但无论出于何种原因,它都无法在erase()
中使用。退格字符是否相互擦除?
public static int textLength = 0;
public static void erase() {
for (int i = 0; i < textLength; i++) {
System.out.print('\b');
}
textLength = 0;
}
public static void print(String s) {
textLength += s.length();
System.out.print(s);
}
答案 0 :(得分:4)
Runtime.getRuntime().exec("cls");
修改强>: 似乎这不是您正在寻找的解决方案。使用时
System.out.print('\b');
您需要注意,不会删除已打印的内容。相反,每个退格键将光标移回一个字符。然后实际上擦除你需要用其他文本覆盖它的东西。