Распечатать возврат каретки в Java на окнах на консоли - PullRequest
10 голосов
/ 05 марта 2012

На моем компьютере с OS X следующая строка дает мне хороший и простой способ отследить состояние моих циклов:

for (int index = 0; index < 100; index++)
    for (int subIndex = index; subIndex < 100; subIndex++)
        System.out.print("\r" + index + "/" + subIndex + "       ");

Но когда я пытаюсь запустить ту же самую вещь в Windows, она печатаетпереводы строк вместо возврата каретки.Как я могу добиться того же простого метода отслеживания процесса в Windows?

Ответы [ 2 ]

7 голосов
/ 05 марта 2012

У меня было утверждение, и оно работало в командной строке

System.out.println("This is Java"+'\r'+"That");

и выдает мне вывод как

That is Java

Это означает, что оно отлично работает.

Примечание: Я запускаю его в Windows 7 с JDK 7 и простым блокнотом.

Это проблема затмения, он примет \ r в качестве символа новой строки и выведет

This is Java
That

каквыход

0 голосов
/ 05 марта 2012

Под "Windows" вы имеете в виду cmd.exe? И вы хотите перезаписать строку, которую вы ранее выводили, верно? К сожалению, я думаю, что вам нужно как-то вызывать этот Win32 API для достижения этого

Может быть, другие гуру Java могут дать лучший ответ ...

...