Как я могу возвратиться к запуску строки в консоли?

27
задан user247702 21 September 2015 в 14:34
поделиться

3 ответа

Я подозреваю, что Ваш курсор перемещается в переднюю сторону строки. Текст, который Вы уже имеете, не исчезает, потому что Вы не перезаписали его ни с чем. Вы могли произвести пробелы, чтобы очистить строку и затем добавить другой \r.

я просто протестировал следующий Windows XP и AIX, и это работает как ожидалось:

public class Foo {
  public static void main(String[] args) throws Exception {
   System.out.print("old line");
   Thread.sleep(3000);
   System.out.print("\rnew");
  }
}

я получаю "старую строку", распечатанную, 3-секундная задержка, и затем "старую строку" изменения в "новой строке"

, я намеренно сделал первую строку дольше, чем второе, чтобы продемонстрировать, что, если бы Вы хотите стереть целую строку, необходимо было бы перезаписать конец с пробелами.

Также примечание, что "\b" escape-последовательность создаст резервную копию 1 пространства, вместо к началу строки. Таким образом, если бы Вы только хотели стереть последние 2 символа, Вы могли бы записать:

System.out.println("foo\b\bun")

и получают "забаву".

37
ответ дан mtruesdell 28 November 2019 в 05:14
поделиться

Мое предположение (И это - предположение), был бы то, что '\r' действительно работает, но консоль, которую Вы используете, не рассматривает его, как Вы ожидали бы. Какую консоль Вы используете? Если это похоже на что-то консольный вывод в Вашем IDE, Вы попробовали его на реальной командной строке вместо этого?

7
ответ дан izb 28 November 2019 в 05:14
поделиться

Если Вы просто хотите записать новую строку в консоль, необходимо использовать println () метод:

System.out.println(mystuff);

Однако это не удалит то, что уже находится на строке. На самом деле, так как System.out является PrintStream, который является типом OutputStream, который в основном трудно сделать, хотя можно найти терминальные особенные методы сделать это.

у Вас могла бы быть лучшая удача с помощью реализации Java библиотеки проклятий, такой как JavaCurses.

3
ответ дан Avi 28 November 2019 в 05:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: