在命令行java中突出显示文本

时间:2015-01-11 02:16:15

标签: java unix command-line calendar highlight

我有一个重新创建unix cal程序的任务,除了一部分外,相当简单。在当天,它突出了数字。我不知道该怎么做。如何在Java中做到这一点?

图像:

Calender

1 个答案:

答案 0 :(得分:2)

  

ANSI颜色代码

     

通过展开转义序列来设置提示的颜色   “\ e [sm”,其中s是以分号分隔的ANSI颜色代码列表:   “\ e [31; 44; 1m”将前景色设为红色,背景为   蓝色,粗体字体; (“\ e”是ASCII Escape   字符。不要忘记用“m”终止序列   字符。)

     

环境变量中的二进制序列需要通过以下方式设置   它们的宽度为零的指标,否则外壳不会   正确计算提示的宽度。 Bash包含了这样的东西   用斜杠括号“[..]”,而Tcsh使用百分比括号“%{..   %}”。

The codes:
0   restore default color
1   brighter
2   dimmer
4   underlined text
5   flashing text
7   reverse video

            black   red     green   yellow  blue    purple  cyan    white
foreground  30      31      32      33      34      35      36      37
background  40      41      42      43      44      45      46      47 

来自http://zipcon.net/~swhite/docs/computers/linux/shell_prompts.html

因此,为了通过Java执行此操作,您需要设置

System.out.println(characterCode + character);

其中String characterCode = "\033[31;44;1m";char character = 'A';

你得到一个A,前景色设置为红色,背景为蓝色,字体为粗体......


编辑:Xubuntu中的测试结果

public static void main(String[] args) {
    char character = 'A';
    String characterCode;
    for (int foreground = 30; foreground < 38; foreground++) {
        for (int background = 40; background < 48; background++) {
            characterCode = "\033[" + foreground + ";" + background + ";1m";
            System.out.print(characterCode + character);
        }
        System.out.println();
    }

}

code result