Java在不清除控制台的情况下从控制台删除输入文本
基本上,我有一个如下的输入阅读器:Java在不清除控制台的情况下从控制台删除输入文本,java,io,console-application,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; } } 当我在终端中输入
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
我按下回车键,它就停在那里。是否有任何方法可以在不清除整个控制台的情况下自动将其从控制台中删除?如果要删除整行打印“\r”(回车)
或者,如果您想删除部分输出,只需使用“\b”(后台空间),如否,您不能这样做,因为您当前将控制台视为行打印机。但是,您应该将其视为接受ANSI转义码的终端。有一个库允许您以这种方式处理控制台,但还有许多其他库。请注意,控制台需要识别转义码才能工作(例如,正常的Eclipse控制台不识别转义码)。print
\r
后跟大量空格或ANSI转义序列?当我读取用户输入时,只需打印System.out.println(“\r”)代码>?因为那不管用。你能给我一个如何使用它的例子吗?@Marijus你在使用IDE吗。直接从控制台尝试我正在使用ubuntu终端:\