java,以粗体显示

问题描述 投票:5回答:2

如何在printf中以粗体显示输出? "[1m testing bold"什么都不做。

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

System.out.printf(format, "Name", "Group_name", "Java_Prof_Level", "Cpr_Nr", "Gender", "[1m testing bold");
java format printf
2个回答
12
投票

你不能用Java System.out打印粗体。它只是流式传输到标准输出流,因此原则上它只是未格式化的文本。

但是,某些软件包会解释特殊字符序列(所谓的ANSI转义序列)以允许格式化。

请注意,ANSI转义序列以转义字符开头,因此您还需要将其添加到字符串中。 (试试“\ u001B [1m我是大胆的”。)

大多数Unix终端默认解释ANSI转义序列。在旧的DOS时代,您需要使用ANSI.SYS来使转义序列起作用。

在Windows和Eclipse终端中,代码不起作用。


2
投票

这实际上取决于使用何种类型的控制台。对于像Netbeans和Eclipse这样的IDE,我不确定你是否可以影响字体。但对于大多数终端,以下转义字符有效:

String textInBold = "Java_Prof_Level";
System.out.print("\033[0;1m" + textInBold);
© www.soinside.com 2019 - 2024. All rights reserved.