Java在控制臺輸出帶顏色字符的2種方式詳解
通過\033特殊轉(zhuǎn)義符實現(xiàn)
這種方法主要適用于Linux系統(tǒng)的控制臺,也能在Windows系統(tǒng)中的IDEA中實現(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("[ 藍色 ]", 34, 0));
System.out.println(getFormatLogString("[ 紫色 ]", 35, 0));
System.out.println(getFormatLogString("[ 綠色 ]", 36, 0));
}
}
Linux中的測試效果
編譯后,在Linux系統(tǒng)上完美運行。

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

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

通過org.fusesource.jansi實現(xiàn)
這種方法能在Windows控制臺和Linux中完美運行,且結(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問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
mybatisplus邏輯刪除基本實現(xiàn)和坑點解決
這篇文章主要介紹了mybatisplus邏輯刪除基本實現(xiàn)和坑點解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
Java數(shù)據(jù)結(jié)構(gòu)實現(xiàn)二維數(shù)組與稀疏數(shù)組轉(zhuǎn)換詳解
稀疏數(shù)組是用于優(yōu)化,壓縮具有以下特點的二維數(shù)組:當二維數(shù)組中的元素大部分相同,有意義的數(shù)據(jù)元素較少時,可以使用稀疏數(shù)組進行簡化,節(jié)省存儲空間2021-10-10

