如何在Java控制檯中列印彩色文字?


在處理Java終端應用程式時,使用者經常希望列印彩色文字以提高輸出的美觀性和可讀性。可以使用ANSI轉義碼來生成彩色文字,而不是Java預設終端通常生成的單色輸出。ANSI轉義碼是一組特殊的字元,列印到控制檯時會透過更改文字的顏色、樣式或背景來更改文字的外觀。在本文中,我們將學習如何使用ANSI轉義碼在Java控制檯中列印彩色文字。我們將介紹兩個示例,一個只有彩色文字,另一個有彩色文字和不同的背景。

使用ANSI轉義碼進行文字著色。

使用ANSI轉義碼更改文字顏色,可以使用轉義碼序列u001B[xxm,其中xx代表ANSI顏色程式碼。以下是一些常用的ANSI文字顏色程式碼

藍色:\u001B[34m

青色:\u001B[36m

紅色:\u001B[31m

綠色:\u001B[32m

白色:\u001B[37m

黃色:\u001B[33m

黑色:\u001B[30m

品紅色:\u001B[35m

要應用特定的顏色,需要在文字之前新增相應的ANSI顏色程式碼,並在文字之後新增重置程式碼\u001B[0m以完成該過程。重置程式碼確保之後顯示的文字以標準顏色顯示。

使用ANSI轉義碼進行背景著色。

除了文字顏色之外,ANSI轉義碼還可以更改文字的背景顏色。可以使用轉義碼序列u001B[xx;yym來更改背景顏色,其中xx代表背景顏色的ANSI顏色程式碼。以下是一些常用的ANSI背景顏色程式碼

藍色:\u001B[44m

青色:\u001B[46m

黑色:\u001B[40m

紅色:\u001B[41m

白色:\u001B[47m

綠色:\u001B[42m

黃色:\u001B[43m

品紅色:\u001B[45m

要在文字中應用特定的背景顏色,請在文字之前新增ANSI背景顏色程式碼,並在文字之後新增重置程式碼\u001B[0m。

讓我們來看兩個關於這個問題的例子

示例1:在Java控制檯中列印彩色文字

在這裡,我們將專注於使用ANSI轉義碼生成彩色文字。以下是演算法和程式碼示例

演算法

在Java控制檯中列印彩色文字的步驟如下

步驟1:為他們想要使用的文字顏色建立ANSI轉義碼常量。

步驟2:要指定要列印的文字之前的所需顏色,請使用ANSI轉義碼常量。

步驟3:在彩色文字之後使用找到的RESET程式碼將格式恢復到其原始狀態。

示例

public class Main {
    public static void main(String[] args) {
        // ANSI escape code constants for text colors
        String RESET = "\u001B[0m";
        String RED = "\u001B[31m";
        String GREEN = "\u001B[32m";
        String YELLOW = "\u001B[33m";

        // Print colored text to the console
        System.out.println(GREEN + "This text is green." + RESET);
        System.out.println(YELLOW + "This text is yellow." + RESET);
       System.out.println(RED + "This text is red." + RESET);
    }
}

輸出

示例2:在Java控制檯中列印具有不同背景的彩色文字

演算法

列印具有不同背景的彩色文字的步驟如下

步驟1:為要使用的背景和文字顏色建立ANSI轉義碼常量。

步驟2:在列印任何文字之前,使用正確的背景和顏色程式碼。

步驟3:在彩色文字之後使用找到的RESET程式碼將格式恢復到其原始狀態。

示例

public class Main {
    public static void main(String[] args) {
        // ANSI escape code constants for text colors and background colors
        String RESET = "\u001B[0m";
        String RED_TEXT = "\u001B[31m";
        String GREEN_TEXT = "\u001B[32m";
        String YELLOW_TEXT = "\u001B[33m";
        String BLACK_BG = "\u001B[40m";
        String WHITE_BG = "\u001B[47m";

        // Print colored text with the background to the console
        System.out.println(RED_TEXT + BLACK_BG + "This text is red with black background." + RESET);
        System.out.println(GREEN_TEXT + WHITE_BG + "This text is green with white background." + RESET);
        System.out.println(YELLOW_TEXT + BLACK_BG + "This text is yellow with black background." + RESET);
    }
}

輸出

結論

可以使用ANSI轉義碼對Java終端輸出進行格式化和著色,這是一個強大的工具。使用者可以透過使用轉義序列和顏色程式碼來更改文字的外觀,使其更具美感,並提高終端應用程式的可讀性。嘗試使用不同的配色方案和格式選項來創建出色的控制檯輸出。為了確保對ANSI轉義碼的充分支援,請務必在不同的控制檯環境中測試您的程式碼。

更新於:2023年8月25日

14K+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.