为什么 ANSI 颜色转义码不起作用

Why are ANSI color escape codes not working

我正在做一个词搜索,用户找到的词我想用颜色标记,但我只得到打印的字符串代码,没有颜色。我创建了一个单独的 class 来测试颜色是否有效,但没有办法。如何打印颜色?

public class color {
    
    public static void main(String[] args) {
        String black="3[30m"; 
        String red="3[31m"; 
        String green="3[32m"; 
        String yellow="3[33m"; 
        String blue="3[34m"; 
        String purple="3[35m"; 
        String cyan="3[36m"; 
        String white="3[37m"; 
        String reset="\u001B[0m";

        System.out.println ();
        System.out.println (red + "Text string in red" + reset);
        System.out.println (green + "Text string in green" + reset);
        System.out.println (yellow + "Text string in yellow" + reset);
        System.out.println (white + "Text string in white" + reset);
        System.out.println (black + "Black text string" + reset + "(<- black text string that cannot be seen because my background is black)" + reset);
        System.out.println (blue + "Text string in blue" + reset);
        System.out.println (purple + "Magenta string" + reset);
        System.out.println (cyan + "Text string in cyan" + reset);
        System.out.println (reset + "Default color string" + reset);
        System.out.println ();
    }
}

ANSI 颜色转义码的工作假设是有一些实例(我们称之为“控制台”)接收字符(包括转义序列),解释它们并根据解释显示带有颜色的字形。

如果您将输出发送到此类与 ANSI 兼容的控制台,那么您将获得彩色文本,但您正在使用的控制台(Eclipse 中的“控制台”视图?)显然与 ANSI 不兼容。