2015-03-17 9 views
-2

Как распечатать вывод полужирным шрифтом в printf? "[1m testing bold" ничего не делает.java, печать выделена жирным шрифтом

String format = "%-20s %-15s %-20s %-15s %-10s"; 

System.out.printf(format, "Name", "Group_name", "Java_Prof_Level", "Cpr_Nr", "Gender", "[1m testing bold"); 
+0

Сначала вам нужно сделать смелый аргумент, а не последним. –

+0

см. Также https://github.com/fusesource/jansi – vandale

+0

@Malik не работает из-за формата «[1m test bold» напечатан как txt –

ответ

4

Вы не можете печатать жирным шрифтом с Java System.out. Он просто перетекает в стандартный поток вывода, поэтому в принципе это неформатированный текст.

Однако некоторые программные пакеты интерпретируют специальные последовательности символов (так называемые escape-последовательности ANSI), чтобы разрешить форматирование.

Обратите внимание, что escape-последовательности ANSI начинаются с escape-символа, поэтому вам также нужно добавить это в свою строку. (Попробуйте «\ u001B [1m я полужирный».)

Большинство терминалов Unix интерпретируют escape-последовательности ANSI по умолчанию. В старые времена DOS вам нужно было использовать ANSI.SYS для выполнения управляющих последовательностей.

В Windows и терминале Eclipse коды не работают.

+0

Большое спасибо за четкое объяснение! –

1

Это действительно зависит от того, какая консоль используется. Для IDE, таких как Netbeans и Eclipse, я не уверен, что вы можете повлиять на шрифт. Но для большинства терминалов, следующие маскирующим работы:

String textInBold = "Java_Prof_Level"; 
System.out.print("\033[0;1m" + textInBold); 
+0

Спасибо, просто попробовал: «\ 033 [0; 1m». Это не работает в Netbeans –

Смежные вопросы