是否可以在控制台中重写前一行?

bsi*_*nau 11 java

我正在尝试在我的控制台应用程序中创建流程动画.是否有可能为此需要重写以前的行?我知道\r但它只适用于当前行.

如果不可能,我怎么能实现动画效果?谢谢.

我的控制台是标准的Ubuntu 12.04终端仿真器.


感谢@ MrSmith42我制作了这个简单的演示,它展示了覆盖线条的方法:

public class Flush {
    public static void main(String[] args) {
        for(int i = 0; i < 5; i++) {
            System.out.println("**********************************");
        }
        // ESC[5A - cursor up 5 times
        // \r - cursor return to begin of line
        // ESC[J - erase to end of screen
        System.out.print("\033[5A\r\033[J");
        for(int i = 0; i < 5; i++) {
            System.out.println("##################################");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MrS*_*h42 6

这取决于你的控制台.许多consols支持 vt100命令,允许例如改变光标的位置或改变文本或背景的颜色.

我使用它来将我的java程序中的彩色调试输出发送到shell.

如果链接已死,请使用此Google搜索 https://www.google.de/search?q=vt100+comands&oq=vt100+comands