在终端上以粗体打印

新手上路,请多包涵

如何在 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");

原文由 Na Dia 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 639
2 个回答

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

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

请注意,ANSI 转义序列以转义字符开头,因此您还需要将其添加到您的字符串中。 (尝试 "\u001B[1m I am bold""\033[0;1m" + "I am bold" 。)

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

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

原文由 Hoopje 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

原文由 hrdasadia 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题