📜  打印彩色文本 java (1)

📅  最后修改于: 2023-12-03 15:25:45.670000             🧑  作者: Mango

打印彩色文本 Java

在Java中,我们可以使用ANSI转义序列来打印出彩色文本。ANSI转义序列是由一系列的ASCII字符组成的,它们被用来改变输出文本的颜色、背景颜色和样式。

代码实现

以下是一个简单的Java程序,实现了输出彩色文本的功能:

public class ColoredTextPrinter {
    public static final String ANSI_RESET = "\u001B[0m";
    public static final String ANSI_BLACK = "\u001B[30m";
    public static final String ANSI_RED = "\u001B[31m";
    public static final String ANSI_GREEN = "\u001B[32m";
    public static final String ANSI_YELLOW = "\u001B[33m";
    public static final String ANSI_BLUE = "\u001B[34m";
    public static final String ANSI_PURPLE = "\u001B[35m";
    public static final String ANSI_CYAN = "\u001B[36m";
    public static final String ANSI_WHITE = "\u001B[37m";

    public static void main(String[] args) {
        System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);
        System.out.println(ANSI_GREEN + "This text is green!" + ANSI_RESET);
        System.out.println(ANSI_YELLOW + "This text is yellow!" + ANSI_RESET);
        System.out.println(ANSI_BLUE + "This text is blue!" + ANSI_RESET);
        System.out.println(ANSI_PURPLE + "This text is purple!" + ANSI_RESET);
        System.out.println(ANSI_CYAN + "This text is cyan!" + ANSI_RESET);
        System.out.println(ANSI_WHITE + "This text is white!" + ANSI_RESET);
    }
}

代码片段:

public class ColoredTextPrinter {
    public static final String ANSI_RESET = "\u001B[0m";
    public static final String ANSI_BLACK = "\u001B[30m";
    public static final String ANSI_RED = "\u001B[31m";
    public static final String ANSI_GREEN = "\u001B[32m";
    public static final String ANSI_YELLOW = "\u001B[33m";
    public static final String ANSI_BLUE = "\u001B[34m";
    public static final String ANSI_PURPLE = "\u001B[35m";
    public static final String ANSI_CYAN = "\u001B[36m";
    public static final String ANSI_WHITE = "\u001B[37m";

    public static void main(String[] args) {
        System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);
        System.out.println(ANSI_GREEN + "This text is green!" + ANSI_RESET);
        System.out.println(ANSI_YELLOW + "This text is yellow!" + ANSI_RESET);
        System.out.println(ANSI_BLUE + "This text is blue!" + ANSI_RESET);
        System.out.println(ANSI_PURPLE + "This text is purple!" + ANSI_RESET);
        System.out.println(ANSI_CYAN + "This text is cyan!" + ANSI_RESET);
        System.out.println(ANSI_WHITE + "This text is white!" + ANSI_RESET);
    }
}
ANSI转义序列

以下是ANSI转义序列的一些常用命令:

命令 | 描述 ---|--- \u001B[0m | 重置所有的样式 \u001B[30m | 设置文本为黑色 \u001B[31m | 设置文本为红色 \u001B[32m | 设置文本为绿色 \u001B[33m | 设置文本为黄色 \u001B[34m | 设置文本为蓝色 \u001B[35m | 设置文本为紫色 \u001B[36m | 设置文本为青色 \u001B[37m | 设置文本为白色 \u001B[40m | 设置背景颜色为黑色 \u001B[41m | 设置背景颜色为红色 \u001B[42m | 设置背景颜色为绿色 \u001B[43m | 设置背景颜色为黄色 \u001B[44m | 设置背景颜色为蓝色 \u001B[45m | 设置背景颜色为紫色 \u001B[46m | 设置背景颜色为青色 \u001B[47m | 设置背景颜色为白色 \u001B[1m | 设置样式为粗体 \u001B[2m | 设置样式为模糊 \u001B[3m | 设置样式为斜体 \u001B[4m | 设置样式为下划线 \u001B[5m | 设置样式为闪烁 \u001B[7m | 设置样式为反显 \u001B[8m | 设置样式为隐藏 \u001B[nA | 光标向上移动n行 \u001B[nB | 光标向下移动n行 \u001B[nC | 光标向右移动n行 \u001B[nD | 光标向左移动n行 \u001B[y;xH | 将光标移动到y行x列

值得注意的是,不是所有的控制台都支持ANSI转义序列,特别是在Windows的默认控制台上。如果您发现您的输出不是按预期的方式显示的,请换一个终端或添加外部库以支持ANSI转义序列。