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