Jansi:讓控制臺輸出彩色字符的方法
給政府做項目時我們一般都使用的是Java,服務(wù)器一般都是Weblogic或Tomcat(開發(fā)環(huán)境)。經(jīng)常使用Java的人都知道,它在后臺輸出的信息一般都是黑底白字,或在Linux環(huán)境中可以改成黑綠字等,反正是很單調(diào)。我也從來沒想過它能夠變成彩色,但今天我發(fā)現(xiàn)了一個java類庫——Jansi——它能夠讓你在控制臺輸出色彩繽紛的文字。先給大家看看效果:
Jansi雖然是一個很小的Java包,卻有著豐富的接口,讓你配置各種輸出效果,但用法非常的簡單:
- import static org.fusesource.jansi.Ansi.*;
- import static org.fusesource.jansi.Ansi.Color.*;
- ...
- System.out.println( ansi().eraseScreen().fg(RED).a("Hello").fg(GREEN).a(" World").reset() );
相信你從上面的語義中能看出它是輸出了紅色的“Hello”和綠色的“World”。
它還有一種更簡潔的寫法:
- System.out.println( ansi().eraseScreen().render("@|red Hello|@ @|green World|@") );
這種寫法能實現(xiàn)相同的效果。
上面的用法是調(diào)用了Jansi輸出接口生成彩色字。Jansi可以讓你的System.out.println()
方法直接輸出彩色字體,用法是使用System.out.println()
前,先執(zhí)行:
- import org.fusesource.jansi.AnsiConsole;
- ...
- AnsiConsole.systemInstall();
Jansi的這種技能實際上是利用ANSI轉(zhuǎn)義代碼來控制終端輸出。很多高人用顏色各異的字符在終端屏幕上平湊出各種神奇復(fù)雜的精彩圖案。這些代碼的源文件通常保持為.ans
后綴的文件,下面的這個圖案就是利用Jansi輸出MW-TSA2.ANS得到的,很神奇吧。