Java – Windows / linux中的控制台输出

Java是否支持在输出到控制台时控制光标? 例如,我想在执行System.out.print()之前设置字符位置,可能还有颜色。 想想像top这样的应用程序写入控制台的方式。 谢谢!

您通常不使用system.out来执行这些操作。 * nix中的大多数应用程序都使用NCURSES( http://en.wikipedia.org/wiki/Ncurses )。 你可以尝试http://sourceforge.net/projects/javacurses/,如果你需要这么聪明的东西。

但是,如果要删除所需内容,并且希望获得最佳效果,则可以始终使用退格键(\ b)字符串输出

哈。 您仍然可以在Linux中执行此操作。 请参阅此手册页以获取代码本身http://man7.org/linux/man-pages/man4/console_codes.4.html

public class quickTest{ public static void main( String[] args ){ //This will undo the current line by erasing it //and then putting the curser back at column 1 System.out.println( "Hello.\u001b[1K\u001b[1GHi." ); } } 

不是直接的。 在过去,ANSI转义序列得到了支持,但现在不再支持了。

我建议你研究一下支持Windows的优秀Java Curses库。 我不能推荐任何:(