escape-коды vt100 - это мощный и популярный метод форматирования выходных данных (цвет, позиционирование, мигание, подчеркивание и т. Д.) На виртуальных терминалах, таких как xterm или konsole.См. https://en.wikipedia.org/wiki/ANSI_escape_code
Когда вы запускаете java-программу в xterm, konsole и т. Д. И System.out.print
такие коды - например,
// print "Hello, World!" in red
System.out.print("\u001b[31mHello, World!");
java передает их в терминал без изменений, поэтому ониТерминалы интерпретируют коды и ведут себя так, как вы ожидаете.
Java-программы должны быть независимыми от платформы, однако, когда вы запускаете такую программу из командной строки Windows, вы увидите распечатанные коды,как это:
☐[31mHello, World!
После поиска способа решения этой проблемы, я не смог найти простое решение или даже обсуждение этой темы.Большинство решений зависят от запуска вашей программы в другом консольном приложении или от включения в нее пользовательской консоли на основе Java.
Итак, как можно легко использовать форматированный текст vt100 в командной строке Windows по умолчанию?