在控制台上的windows上以java打印回车

在控制台上的windows上以java打印回车,java,windows,newline,carriage-return,system.out,Java,Windows,Newline,Carriage Return,System.out,在我的OS X机器上,以下行为我提供了一种跟踪循环状态的简便方法: for (int index = 0; index < 100; index++) for (int subIndex = index; subIndex < 100; subIndex++) System.out.print("\r" + index + "/" + subIndex + " "); for(int-index=0;index

在我的OS X机器上,以下行为我提供了一种跟踪循环状态的简便方法:

for (int index = 0; index < 100; index++)
    for (int subIndex = index; subIndex < 100; subIndex++)
        System.out.print("\r" + index + "/" + subIndex + "       ");
for(int-index=0;index<100;index++)
对于(int subIndex=index;subIndex<100;subIndex++)
系统输出打印(“\r”+索引+”/“+子索引+”);
但当我尝试在windows上运行相同的程序时,它会打印出换行符,而不是回车符。如何在windows上实现跟踪进程的相同简单方法?

所说的“windows”是指
cmd.exe
?您希望覆盖到以前输出的行,对吗?不幸的是,我认为您需要以某种方式调用这个Win32 API才能实现它

    • 比照

也许其他Java大师可以提供更好的答案…

我有这个语句,它在命令提示符下工作

System.out.println("This is Java"+'\r'+"That");
并将输出作为

That is Java
这意味着它工作完美

注意:我使用JDK 7和简单记事本在Windows7中运行它

这是eclipse的问题,它将\r作为新行字符打印

This is Java
That

作为输出

如果您在Eclipse上,则必须启用Console窗口上的control character选项。

我正在windows计算机上的Eclipse中运行该程序。还没有在CMD上尝试过。我目前正在Windows XP上运行-也许这会有所不同?通过eclipse。。。在OSX上,我使用IntelliJ,它可以正常工作。现在我将在命令提示符下对其进行一次尝试。正如我已经提到的,问题在于Eclipse而不是Java。如果不使用像Intellij这样的额外工具,它将无法在eclipse中工作。