主页 > IT业界  > 

Java补充-System.out.println方法打印彩色文本(通过ANSI转义序列方式)

Java补充-System.out.println方法打印彩色文本(通过ANSI转义序列方式)
一、引入

在 Java 中,System.out.println 方法默认打印的是普通文本,无法直接打印彩色文本

可以通过 ANSI 转义序列在控制台中打印彩色文本


二、打印彩色文本 1、基本介绍

ANSI 转义序列是一种标准,用于控制终端的光标位置、颜色等

ANSI 转义序列以 \u001B 开头(\u001B 是 ESC 字符的 Unicode 编码),后面跟随控制代码

System.out.println("\u001B[【文本颜色代码】m【文本】\u001B[0m"); 格式说明\u001B[【颜色代码】m设置颜色\u001B[0m重置颜色 除了设置文本颜色代码,还可以设置背景颜色代码 System.out.println("\u001B[【背景颜色代码】m【文本】\u001B[0m"); 还可以同时设置文本颜色代码与背景颜色代码 System.out.println("\u001B[【文本颜色代码】;【背景颜色代码】m【文本】\u001B[0m"); 注:打印完彩色文本后,一定要重置颜色(\u001B[0m),否则后续输出也会受到影响 2、常用颜色代码 颜色文本颜色代码背景颜色代码黑色3040红色3141绿色3242黄色3343蓝色3444洋红色3545青色3646白色3747 3、演示 System.out.println("\u001B[31m红色文本\u001B[0m"); System.out.println("\u001B[32m绿色文本\u001B[0m"); System.out.println("\u001B[33m黄色文本\u001B[0m"); System.out.println("\u001B[34m蓝色文本\u001B[0m"); System.out.println("\u001B[41m红色背景\u001B[0m"); System.out.println("\u001B[42m绿色背景\u001B[0m"); System.out.println("\u001B[43m黄色背景\u001B[0m"); System.out.println("\u001B[44m蓝色背景\u001B[0m"); System.out.println("\u001B[31;42m红色文本,绿色背景\u001B[0m"); System.out.println("\u001B[33;44m黄色文本,蓝色背景\u001B[0m"); 输出结果
三、封装工具类 为了方便使用,可以封装一个工具类来打印彩色文本 1、工具类 public class ColorLogger { // 颜色代码 public static final String RESET = "\u001B[0m"; public static final String BLACK = "\u001B[30m"; public static final String RED = "\u001B[31m"; public static final String GREEN = "\u001B[32m"; public static final String YELLOW = "\u001B[33m"; public static final String BLUE = "\u001B[34m"; public static final String MAGENTA = "\u001B[35m"; public static final String CYAN = "\u001B[36m"; public static final String WHITE = "\u001B[37m"; // 打印彩色日志 public static void log(String color, String message) { System.out.println(color + message + RESET); } } 2、测试 ColorLogger.log(ColorLogger.RED, "This is a red message"); ColorLogger.log(ColorLogger.GREEN, "This is a green message"); ColorLogger.log(ColorLogger.BLUE, "This is a blue message"); 输出结果
标签:

Java补充-System.out.println方法打印彩色文本(通过ANSI转义序列方式)由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java补充-System.out.println方法打印彩色文本(通过ANSI转义序列方式)