在Java中的STDOUT中“退格”字符?

| 我正在构建一个简单的应用程序,该应用程序基本上可以执行以下操作:
logger.debug(\"Server start.\");
server.start();
System.in.read();
logger.debug(\"Server stop.\");
server.stop();
我真正想做的是完全消除用户键入的任何字符,无论是换行符还是字母。我只希望日志输出看起来像这样:
Server start
Server stop
...而不是像这样:
Server start

Server stop
如果用户在提示符下单击\“ ENTER \”。我怎样才能做到这一点?我如何才能吃完所有键入的字符,然后按照上面的示例关闭服务器?     
已邀请:
我认为这在纯Java中是不可能的,因为在终端窗口中操作字符必须由终端控制库(例如curses)完成。核心Java API不提供此类功能,但可能会有JNI包装器(例如Java Curses)。     
如果将system.in的输入流更改为其他内容,则输入将重定向到控制台以外的其他内容。那应该“抹去”那条线。 链接:download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#setIn(java.io.InputStream) 它说5.0,但是方法应该仍然存在于6。 事后看来,我不确定这是否可行。不要在我面前打开Java,所以不确定是否可以使用。 如果可以控制记录仪,请进行编辑,是否可以防止记录仪打印换行符?那将是最简单的。     

要回复问题请先登录注册