Java从控制台删除输入文本而不清除控制台

时间:2014-12-03 23:45:55

标签: java io console-application

所以基本上我的输入阅读器看起来像这样:

BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
while (true) {
    String userInput = stdIn.readLine();
    if (userInput != null) {
        String message = username + ":" + userInput;
    }
}

当我在终端输入一些文字输入时,我们说:

this is a test

然后我点击ENTER它就在那里。有没有办法让它从控制台自动删除而不清除整个控制台?

2 个答案:

答案 0 :(得分:0)

如果要删除整行打印'\ r'(回车)

或者如果你想删除部分输出,只需使用'\ b'(后退空格),如this

答案 1 :(得分:0)

不,你现在不能将控制台视为行式打印机。但是,您应该将其视为接受ANSI转义码的终端。一个允许您以这种方式处理控制台的库是Lanterna,但还有许多其他库。请注意,控制台需要识别转义码才能使其正常工作(例如普通的Eclipse控制台不能)。