Java在控制臺輸出帶顏色字符的2種方式詳解
通過\033特殊轉(zhuǎn)義符實(shí)現(xiàn)
這種方法主要適用于Linux系統(tǒng)的控制臺,也能在Windows系統(tǒng)中的IDEA中實(shí)現(xiàn),但在Windows系統(tǒng)的控制臺中卻是亂碼。
public class ColourTest {
/**
* @param colour 顏色代號:背景顏色代號(41-46);前景色代號(31-36)
* @param type 樣式代號:0無;1加粗;3斜體;4下劃線
* @param content 要打印的內(nèi)容
*/
private static String getFormatLogString(String content, int colour, int type) {
boolean hasType = type != 1 && type != 3 && type != 4;
if (hasType) {
return String.format("\033[%dm%s\033[0m", colour, content);
} else {
return String.format("\033[%d;%dm%s\033[0m", colour, type, content);
}
}
public static void main(String[] args) {
System.out.println("控制臺顏色測試:");
System.out.println(getFormatLogString("[ 紅色 ]", 31, 0));
System.out.println(getFormatLogString("[ 黃色 ]", 32, 0));
System.out.println(getFormatLogString("[ 橙色 ]", 33, 0));
System.out.println(getFormatLogString("[ 藍(lán)色 ]", 34, 0));
System.out.println(getFormatLogString("[ 紫色 ]", 35, 0));
System.out.println(getFormatLogString("[ 綠色 ]", 36, 0));
}
}
Linux中的測試效果
編譯后,在Linux系統(tǒng)上完美運(yùn)行。

IDEA 中的測試效果
如下圖所示,在Windows系統(tǒng)上的 IDEA 中也能實(shí)現(xiàn)顏色效果,但請注意 產(chǎn)生顏色的 數(shù)字參數(shù) 與Linux中的有差異。Linux中同樣的代碼,在IDEA中運(yùn)行后的實(shí)際顏色是和Linux中有部分不同,比如下圖中的綠色。

Windows控制臺測試結(jié)果
如下圖所示,輸出亂碼,無顏色效果。

通過org.fusesource.jansi實(shí)現(xiàn)
這種方法能在Windows控制臺和Linux中完美運(yùn)行,且結(jié)果一致,但是在IDEA中沒有任何顏色效果。
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>2.1.1</version>
</dependency>
Windows控制臺測試結(jié)果

Linux中的測試效果

IDEA 中的測試效果

總結(jié)
到此這篇關(guān)于Java在控制臺輸出帶顏色字符的2種方式的文章就介紹到這了,更多相關(guān)Java控制臺輸出帶顏色字符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis-plus批量更新updateBatchById問題
這篇文章主要介紹了mybatis-plus批量更新updateBatchById問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
mybatisplus邏輯刪除基本實(shí)現(xiàn)和坑點(diǎn)解決
這篇文章主要介紹了mybatisplus邏輯刪除基本實(shí)現(xiàn)和坑點(diǎn)解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
Java數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)二維數(shù)組與稀疏數(shù)組轉(zhuǎn)換詳解
稀疏數(shù)組是用于優(yōu)化,壓縮具有以下特點(diǎn)的二維數(shù)組:當(dāng)二維數(shù)組中的元素大部分相同,有意義的數(shù)據(jù)元素較少時,可以使用稀疏數(shù)組進(jìn)行簡化,節(jié)省存儲空間2021-10-10
使用webmagic實(shí)現(xiàn)爬蟲程序示例分享
這篇文章主要介紹了使用webmagic實(shí)現(xiàn)爬蟲程序示例,需要的朋友可以參考下2014-04-04

