Wie drucke ich Farbe in der Konsole mit System.out.println?

323

Wie kann ich Farbe in der Konsole drucken? Ich möchte Daten in Farben anzeigen, wenn der Prozessor Daten sendet, und in verschiedenen Farben, wenn er Daten empfängt.

Taranath Datta
quelle
2
Wenn die Konsole (z. B. Eclipse Java-Konsole) das Anpassen der Farbe von stdout / stderr unterstützt, können Sie System.out.println für eine Farbe und System.err.println für eine andere Farbe verwenden.
jw_

Antworten:

583

Wenn Ihr Terminal dies unterstützt, können Sie ANSI-Escape-Codes verwenden , um Farbe in Ihrer Ausgabe zu verwenden. Es funktioniert im Allgemeinen für Unix-Shell-Eingabeaufforderungen. Es funktioniert jedoch nicht für die Windows-Eingabeaufforderung (obwohl es für Cygwin funktioniert). Sie können beispielsweise Konstanten wie diese für die Farben definieren:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_BLACK = "\u001B[30m";
public static final String ANSI_RED = "\u001B[31m";
public static final String ANSI_GREEN = "\u001B[32m";
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_BLUE = "\u001B[34m";
public static final String ANSI_PURPLE = "\u001B[35m";
public static final String ANSI_CYAN = "\u001B[36m";
public static final String ANSI_WHITE = "\u001B[37m";

Dann können Sie diese nach Bedarf referenzieren.

Mit den obigen Konstanten können Sie beispielsweise den folgenden roten Text auf unterstützten Terminals ausgeben:

System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);

Update: Möglicherweise möchten Sie die Jansi- Bibliothek überprüfen . Es bietet eine API und unterstützt Windows mithilfe von JNI. Ich habe es noch nicht ausprobiert. es sieht jedoch vielversprechend aus.

Update 2: Wenn Sie die Hintergrundfarbe des Textes in eine andere Farbe ändern möchten, können Sie auch Folgendes versuchen:

public static final String ANSI_BLACK_BACKGROUND = "\u001B[40m";
public static final String ANSI_RED_BACKGROUND = "\u001B[41m";
public static final String ANSI_GREEN_BACKGROUND = "\u001B[42m";
public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m";
public static final String ANSI_BLUE_BACKGROUND = "\u001B[44m";
public static final String ANSI_PURPLE_BACKGROUND = "\u001B[45m";
public static final String ANSI_CYAN_BACKGROUND = "\u001B[46m";
public static final String ANSI_WHITE_BACKGROUND = "\u001B[47m";

Zum Beispiel:

System.out.println(ANSI_GREEN_BACKGROUND + "This text has a green background but default text!" + ANSI_RESET);
System.out.println(ANSI_RED + "This text has red text but a default background!" + ANSI_RESET);
System.out.println(ANSI_GREEN_BACKGROUND + ANSI_RED + "This text has a green background and red text!" + ANSI_RESET);
WhiteFang34
quelle
1
@ WhiteFang34 Kannst du bitte erklären, was RESET nützt, wenn seine Farbe SCHWARZ ist, zumindest in meiner Konsole? Ist es wie ein Standard oder etw.?
Boro
8
@Boro: Der Rücksetzcode deaktiviert alle bisher festgelegten ANSI-Attribute, wodurch die Konsole auf ihre Standardeinstellungen zurückgesetzt werden sollte. Es ist nützlich, wenn Sie die Standardfarbe nicht kennen oder auch einige der anderen Attribute wie Hintergrundfarbe, Schriftstile usw. verwenden
WhiteFang34
2
jansi ist wirklich toll! Für diejenigen, die sich in Eclipse entwickeln, kann ich dieses Plugin empfehlen : mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console und ein schönes Stück Code, um Farbe zu aktivieren, wenn der Code nicht ausgeführt wird in der Konsole:if (System.console() == null) System.setProperty("jansi.passthrough", "true");
Danny Lo
1
@PankajNimgade, lesen Sie die Antwort noch einmal und Sie werden vielleicht Folgendes bemerken:however it doesn't work for Windows command prompt
Felix Edelmann
1
@DannyLo Vielen Dank für den Link zum Eclipse-Plugin!
Noah Broyles
71

Hier ist eine Liste der Farben in einer Java-Klasse mit public staticFeldern

Verwendungszweck

System.out.println(ConsoleColors.RED + "RED COLORED" +
ConsoleColors.RESET + " NORMAL");


Hinweis Vergessen Sie nicht, das Nachdrucken zu verwenden, RESETda der Effekt erhalten bleibt, wenn er nicht gelöscht wird


public class ConsoleColors {
    // Reset
    public static final String RESET = "\033[0m";  // Text Reset

    // Regular Colors
    public static final String BLACK = "\033[0;30m";   // BLACK
    public static final String RED = "\033[0;31m";     // RED
    public static final String GREEN = "\033[0;32m";   // GREEN
    public static final String YELLOW = "\033[0;33m";  // YELLOW
    public static final String BLUE = "\033[0;34m";    // BLUE
    public static final String PURPLE = "\033[0;35m";  // PURPLE
    public static final String CYAN = "\033[0;36m";    // CYAN
    public static final String WHITE = "\033[0;37m";   // WHITE

    // Bold
    public static final String BLACK_BOLD = "\033[1;30m";  // BLACK
    public static final String RED_BOLD = "\033[1;31m";    // RED
    public static final String GREEN_BOLD = "\033[1;32m";  // GREEN
    public static final String YELLOW_BOLD = "\033[1;33m"; // YELLOW
    public static final String BLUE_BOLD = "\033[1;34m";   // BLUE
    public static final String PURPLE_BOLD = "\033[1;35m"; // PURPLE
    public static final String CYAN_BOLD = "\033[1;36m";   // CYAN
    public static final String WHITE_BOLD = "\033[1;37m";  // WHITE

    // Underline
    public static final String BLACK_UNDERLINED = "\033[4;30m";  // BLACK
    public static final String RED_UNDERLINED = "\033[4;31m";    // RED
    public static final String GREEN_UNDERLINED = "\033[4;32m";  // GREEN
    public static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOW
    public static final String BLUE_UNDERLINED = "\033[4;34m";   // BLUE
    public static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLE
    public static final String CYAN_UNDERLINED = "\033[4;36m";   // CYAN
    public static final String WHITE_UNDERLINED = "\033[4;37m";  // WHITE

    // Background
    public static final String BLACK_BACKGROUND = "\033[40m";  // BLACK
    public static final String RED_BACKGROUND = "\033[41m";    // RED
    public static final String GREEN_BACKGROUND = "\033[42m";  // GREEN
    public static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOW
    public static final String BLUE_BACKGROUND = "\033[44m";   // BLUE
    public static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLE
    public static final String CYAN_BACKGROUND = "\033[46m";   // CYAN
    public static final String WHITE_BACKGROUND = "\033[47m";  // WHITE

    // High Intensity
    public static final String BLACK_BRIGHT = "\033[0;90m";  // BLACK
    public static final String RED_BRIGHT = "\033[0;91m";    // RED
    public static final String GREEN_BRIGHT = "\033[0;92m";  // GREEN
    public static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOW
    public static final String BLUE_BRIGHT = "\033[0;94m";   // BLUE
    public static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLE
    public static final String CYAN_BRIGHT = "\033[0;96m";   // CYAN
    public static final String WHITE_BRIGHT = "\033[0;97m";  // WHITE

    // Bold High Intensity
    public static final String BLACK_BOLD_BRIGHT = "\033[1;90m"; // BLACK
    public static final String RED_BOLD_BRIGHT = "\033[1;91m";   // RED
    public static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREEN
    public static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOW
    public static final String BLUE_BOLD_BRIGHT = "\033[1;94m";  // BLUE
    public static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLE
    public static final String CYAN_BOLD_BRIGHT = "\033[1;96m";  // CYAN
    public static final String WHITE_BOLD_BRIGHT = "\033[1;97m"; // WHITE

    // High Intensity backgrounds
    public static final String BLACK_BACKGROUND_BRIGHT = "\033[0;100m";// BLACK
    public static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// RED
    public static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREEN
    public static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOW
    public static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUE
    public static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLE
    public static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m";  // CYAN
    public static final String WHITE_BACKGROUND_BRIGHT = "\033[0;107m";   // WHITE
}
shakram02
quelle
55

Ich habe eine Bibliothek namens JCDP ( Java Coloured Debug Printer ) erstellt.

Für Linux, MacOS und Windows 10 werden die von WhiteFang erwähnten ANSI-Escape-Codes verwendet, diese werden jedoch mit Wörtern anstelle von Codes abstrahiert, was viel intuitiver ist. Es wird so einfach wie:

print("Hello World!", Attribute.BOLD, FColor.YELLOW, BColor.GREEN);

Sie haben einige Beispiele im Github-Repository von JCDP .

Dialex
quelle
33

Versuchen Sie die folgende Aufzählung:

enum Color {
    //Color end string, color reset
    RESET("\033[0m"),

    // Regular Colors. Normal color, no bold, background color etc.
    BLACK("\033[0;30m"),    // BLACK
    RED("\033[0;31m"),      // RED
    GREEN("\033[0;32m"),    // GREEN
    YELLOW("\033[0;33m"),   // YELLOW
    BLUE("\033[0;34m"),     // BLUE
    MAGENTA("\033[0;35m"),  // MAGENTA
    CYAN("\033[0;36m"),     // CYAN
    WHITE("\033[0;37m"),    // WHITE

    // Bold
    BLACK_BOLD("\033[1;30m"),   // BLACK
    RED_BOLD("\033[1;31m"),     // RED
    GREEN_BOLD("\033[1;32m"),   // GREEN
    YELLOW_BOLD("\033[1;33m"),  // YELLOW
    BLUE_BOLD("\033[1;34m"),    // BLUE
    MAGENTA_BOLD("\033[1;35m"), // MAGENTA
    CYAN_BOLD("\033[1;36m"),    // CYAN
    WHITE_BOLD("\033[1;37m"),   // WHITE

    // Underline
    BLACK_UNDERLINED("\033[4;30m"),     // BLACK
    RED_UNDERLINED("\033[4;31m"),       // RED
    GREEN_UNDERLINED("\033[4;32m"),     // GREEN
    YELLOW_UNDERLINED("\033[4;33m"),    // YELLOW
    BLUE_UNDERLINED("\033[4;34m"),      // BLUE
    MAGENTA_UNDERLINED("\033[4;35m"),   // MAGENTA
    CYAN_UNDERLINED("\033[4;36m"),      // CYAN
    WHITE_UNDERLINED("\033[4;37m"),     // WHITE

    // Background
    BLACK_BACKGROUND("\033[40m"),   // BLACK
    RED_BACKGROUND("\033[41m"),     // RED
    GREEN_BACKGROUND("\033[42m"),   // GREEN
    YELLOW_BACKGROUND("\033[43m"),  // YELLOW
    BLUE_BACKGROUND("\033[44m"),    // BLUE
    MAGENTA_BACKGROUND("\033[45m"), // MAGENTA
    CYAN_BACKGROUND("\033[46m"),    // CYAN
    WHITE_BACKGROUND("\033[47m"),   // WHITE

    // High Intensity
    BLACK_BRIGHT("\033[0;90m"),     // BLACK
    RED_BRIGHT("\033[0;91m"),       // RED
    GREEN_BRIGHT("\033[0;92m"),     // GREEN
    YELLOW_BRIGHT("\033[0;93m"),    // YELLOW
    BLUE_BRIGHT("\033[0;94m"),      // BLUE
    MAGENTA_BRIGHT("\033[0;95m"),   // MAGENTA
    CYAN_BRIGHT("\033[0;96m"),      // CYAN
    WHITE_BRIGHT("\033[0;97m"),     // WHITE

    // Bold High Intensity
    BLACK_BOLD_BRIGHT("\033[1;90m"),    // BLACK
    RED_BOLD_BRIGHT("\033[1;91m"),      // RED
    GREEN_BOLD_BRIGHT("\033[1;92m"),    // GREEN
    YELLOW_BOLD_BRIGHT("\033[1;93m"),   // YELLOW
    BLUE_BOLD_BRIGHT("\033[1;94m"),     // BLUE
    MAGENTA_BOLD_BRIGHT("\033[1;95m"),  // MAGENTA
    CYAN_BOLD_BRIGHT("\033[1;96m"),     // CYAN
    WHITE_BOLD_BRIGHT("\033[1;97m"),    // WHITE

    // High Intensity backgrounds
    BLACK_BACKGROUND_BRIGHT("\033[0;100m"),     // BLACK
    RED_BACKGROUND_BRIGHT("\033[0;101m"),       // RED
    GREEN_BACKGROUND_BRIGHT("\033[0;102m"),     // GREEN
    YELLOW_BACKGROUND_BRIGHT("\033[0;103m"),    // YELLOW
    BLUE_BACKGROUND_BRIGHT("\033[0;104m"),      // BLUE
    MAGENTA_BACKGROUND_BRIGHT("\033[0;105m"),   // MAGENTA
    CYAN_BACKGROUND_BRIGHT("\033[0;106m"),      // CYAN
    WHITE_BACKGROUND_BRIGHT("\033[0;107m");     // WHITE

    private final String code;

    Color(String code) {
        this.code = code;
    }

    @Override
    public String toString() {
        return code;
    }
}

Und jetzt machen wir ein kleines Beispiel:

class RunApp {
    public static void main(String[] args) {

        System.out.print(Color.BLACK_BOLD);
        System.out.println("Black_Bold");
        System.out.print(Color.RESET);

        System.out.print(Color.YELLOW);
        System.out.print(Color.BLUE_BACKGROUND);
        System.out.println("YELLOW & BLUE");
        System.out.print(Color.RESET);

        System.out.print(Color.YELLOW);
        System.out.println("YELLOW");
        System.out.print(Color.RESET);
    }
}
马哥 私房菜
quelle
2
Dies ist eine Kopie der Antwort stackoverflow.com/a/45444716/675577
Dialex
14

Eine ziemlich tragbare Methode ist die Verwendung der rohen Escape-Sequenzen. Siehe http://en.wikipedia.org/wiki/ANSI_escape_code

[bearbeitet für user9999999 am 2017-02-20]

Java "behandelt die Codes nicht", das stimmt, aber Java gibt aus, was Sie ihm gesagt haben. Es ist nicht Javas Schuld, dass die Windows-Konsole ESC (chr (27)) als eine weitere Glyphe (←) behandelt.

Du hast mich dazu gebracht, Windows zu starten.  Du schuldest mir etwas, Bruder

jcomeau_ictx
quelle
Dies funktioniert nicht, da die Java IO-Ebene diese nicht in Farben konvertiert. System.out.println ((char) 27 + "[31; 1mERROR" + (char) 27 + "[0m" ergibt nur "[31; 1mERROR [0m", wenn es von einem Windows cmd.com als ausführbare .jar ausgeführt wird
Simpleuser
Die Frage wurde nicht markiert windows. Ich erinnere mich, dass die Windows-Konsole niemals ANSI-kompatibel war.
jcomeau_ictx
Das Problem ist jedoch, dass Java die Codes nicht verarbeitet, unabhängig von der Unterstützung von cmd.com
simpleuser
3
siehe bearbeitete Antwort. Java macht genau das, was es gesagt hat. Das Problem ist die nicht ANSI-kompatible Konsole.
jcomeau_ictx
1
Ich habe das gleiche Problem
Sgrillon
7

Sie können dies mit ANSI-Escape-Sequenzen tun. Ich habe diese Klasse in Java für alle zusammengestellt, die eine einfache Problemumgehung dafür wünschen. Es ermöglicht mehr als nur Farbcodes.

https://gist.github.com/nathan-fiscaletti/9dc252d30b51df7d710a

(Portiert von: https://github.com/nathan-fiscaletti/ansi-util )

Beispiel Verwendung:

StringBuilder sb = new StringBuilder();

System.out.println(
    sb.raw("Hello, ")
      .underline("John Doe")
      .resetUnderline()
      .raw(". ")
      .raw("This is ")
      .color16(StringBuilder.Color16.FG_RED, "red")
      .raw(".")
);
Nathan F.
quelle
6

Wenn jemand nach einer schnellen Lösung sucht, kann er gerne die folgende Hilfsklasse verwenden :)

public class Log {

    public static final String ANSI_RESET = "\u001B[0m";
    public static final String ANSI_BLACK = "\u001B[30m";
    public static final String ANSI_RED = "\u001B[31m";
    public static final String ANSI_GREEN = "\u001B[32m";
    public static final String ANSI_YELLOW = "\u001B[33m";
    public static final String ANSI_BLUE = "\u001B[34m";
    public static final String ANSI_PURPLE = "\u001B[35m";
    public static final String ANSI_CYAN = "\u001B[36m";
    public static final String ANSI_WHITE = "\u001B[37m";

    //info
    public static void i(String className, String message) {
        System.out.println(ANSI_GREEN + className + " : " + message + ANSI_RESET);
    }

    //error
    public static void e(String className, String message) {
        System.out.println(ANSI_RED + className + " : " + message + ANSI_RESET);
    }

    //debug
    public static void d(String className, String message) {
        System.out.println(ANSI_BLUE + className + " : " + message + ANSI_RESET);
    }

    //warning
    public static void w(String className, String message) {
        System.out.println(ANSI_YELLOW + className + " : " + message + ANSI_RESET);
    }

}

VERWENDUNGSZWECK:

Log.i(TAG,"This is an info message");

Log.e(TAG,"This is an error message");

Log.w(TAG,"This is a warning message");

Log.d(TAG,"This is a debug message");

Danke @ whiteFang34 für die ANSI-Codes.

Ajmal Salim
quelle
4

Der beste Weg, Konsolentext einzufärben, ist die Verwendung von ANSI-Escape-Codes . Zusätzlich zur Textfarbe ermöglichen ANSI-Escape-Codes Hintergrundfarben, Dekorationen und mehr.

Unix

Wenn Sie springboot verwenden, gibt es eine spezielle Aufzählung für die Textfärbung : org.springframework.boot.ansi.AnsiColor

Die Jansi- Bibliothek ist etwas fortgeschrittener (kann alle ANSI-Escape-Code-Funktionen verwenden), bietet eine API und unterstützt Windows mit JNA.

Andernfalls können Sie Ihre eigene Farbe manuell definieren, wie in anderen Antworten gezeigt.

Windows 10

Windows 10 (seit Build 10.0.10586 - November 2015) unterstützt ANSI-Escape-Codes ( MSDN-Dokumentation ), ist jedoch standardmäßig nicht aktiviert. So aktivieren Sie es:

  • Verwenden Sie mit der SetConsoleMode-API das ENABLE_VIRTUAL_TERMINAL_PROCESSING (0x0400)Flag. Jansi verwendet diese Option.
  • Wenn die SetConsoleMode-API nicht verwendet wird, kann der globale Registrierungsschlüssel HKEY_CURRENT_USER\Console\VirtualTerminalLevelgeändert werden, indem ein Dword erstellt und für die ANSI-Verarbeitung auf 0 oder 1 gesetzt wird: "VirtualTerminalLevel"=dword:00000001

Vor Windows 10

Die Windows-Konsole unterstützt keine ANSI-Farben. Es ist jedoch möglich, eine Konsole zu verwenden, die dies tut.

NayoR
quelle
1

Verwenden der Farbfunktion zum Drucken von Text mit Farben

Code:

enum Color {

    RED("\033[0;31m"),      // RED
    GREEN("\033[0;32m"),    // GREEN
    YELLOW("\033[0;33m"),   // YELLOW
    BLUE("\033[0;34m"),     // BLUE
    MAGENTA("\033[0;35m"),  // MAGENTA
    CYAN("\033[0;36m"),     // CYAN

    private final String code

    Color(String code) {
        this.code = code;
    }

    @Override
    String toString() {
        return code
    }
}

def color = { color, txt ->
    def RESET_COLOR = "\033[0m"
    return "${color}${txt}${RESET_COLOR}"
}

Verwendungszweck:


test {
    println color(Color.CYAN, 'testing')
}
Shadi Abu Hilal
quelle
Das war perfekt für mich, danke.
Khituras
0

Zum Streichen:

public static final String ANSI_STRIKEOUT_BLACK = "\u001B[30;9m";
public static final String ANSI_STRIKEOUT_RED = "\u001B[31;9m";
public static final String ANSI_STRIKEOUT_GREEN = "\u001B[32;9m";
public static final String ANSI_STRIKEOUT_YELLOW = "\u001B[33;9m";
public static final String ANSI_STRIKEOUT_BLUE = "\u001B[34;9m";
public static final String ANSI_STRIKEOUT_PURPLE = "\u001B[35;9m";
public static final String ANSI_STRIKEOUT_CYAN = "\u001B[36;9m";
public static final String ANSI_STRIKEOUT_WHITE = "\u001B[37;9m";
Satish M.
quelle
-1

Die beste Lösung, um Text in Java in roter Farbe zu drucken, ist:

System.err.print("Hello World");
iSahil
quelle
1
Ich verstehe nicht, warum es herabgestimmt ist?
iSahil
Das "Downvote" ist nicht meins - aber es gibt andere Antworten, die die Frage des OP stellen, und sie wurden vor einiger Zeit veröffentlicht. Wenn Sie eine Antwort veröffentlichen, lesen Sie: Wie schreibe ich eine gute Antwort? Bitte stellen Sie sicher, dass Sie entweder eine neue Lösung oder eine wesentlich bessere Erklärung hinzufügen, insbesondere wenn Sie ältere Fragen beantworten.
help-info.de
7
@iSahil dies wurde wahrscheinlich herabgestimmt, weil das einfache Schreiben in einen Standardfehler nichts explizit färbt. Viele IDEs und Konsolen interpretieren Fehlermeldungen und drucken sie in Rot oder ähnlichem, aber darauf können Sie sich nicht verlassen.
David
1
Dies war zwar nicht die direkte Antwort auf die oben gestellte Frage, aber dies war die Antwort, nach der ich gesucht habe, als ich nach "Java Print in Red Console" gesucht habe. Daher habe ich das Gefühl, dass es seinen Platz auf dieser Seite hat.
Maude
-2

Wenn Sie Kotlin verwenden (das nahtlos mit Java zusammenarbeitet), können Sie eine solche Aufzählung erstellen:

enum class AnsiColor(private val colorNumber: Byte) {
    BLACK(0), RED(1), GREEN(2), YELLOW(3), BLUE(4), MAGENTA(5), CYAN(6), WHITE(7);

    companion object {
        private const val prefix = "\u001B"
        const val RESET = "$prefix[0m"
        private val isCompatible = "win" !in System.getProperty("os.name").toLowerCase()
    }

    val regular get() = if (isCompatible) "$prefix[0;3${colorNumber}m" else ""
    val bold get() = if (isCompatible) "$prefix[1;3${colorNumber}m" else ""
    val underline get() = if (isCompatible) "$prefix[4;3${colorNumber}m" else ""
    val background get() = if (isCompatible) "$prefix[4${colorNumber}m" else ""
    val highIntensity get() = if (isCompatible) "$prefix[0;9${colorNumber}m" else ""
    val boldHighIntensity get() = if (isCompatible) "$prefix[1;9${colorNumber}m" else ""
    val backgroundHighIntensity get() = if (isCompatible) "$prefix[0;10${colorNumber}m" else ""
}

Und dann ist die Verwendung als solche: (Code unten zeigt die verschiedenen Stile für alle Farben)

val sampleText = "This is a sample text"
enumValues<AnsiColor>().forEach { ansiColor ->
    println("${ansiColor.regular}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.bold}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.underline}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.background}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.highIntensity}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.boldHighIntensity}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.backgroundHighIntensity}$sampleText${AnsiColor.RESET}")
}

Wenn Sie unter Windows ausgeführt werden, wo diese ANSI-Codes nicht unterstützt werden, werden durch die isCompatibleÜberprüfung Probleme vermieden, indem die Codes durch leere Zeichenfolgen ersetzt werden.

Louis CAD
quelle