2017-08-18 2 views
0

Je sais que cette question a déjà été posée, mais j'ai aussi d'autres questions. Donc, si j'utilise System.err dans eclipse, le texte est rouge. Mais si je le fais à l'extérieur en eclise avec l'invite de commande windows, tout a la même couleur. Maintenant, ma question, Y at-il un moyen d'imprimer du texte en couleur dans chacune de ces consoles?Imprimez du texte en couleur dans les consoles (Windows, Mac, Linux)

Je l'ai essayé avec la ligne suivante:

System.out.println((char)27 + "[34;43mBlue text with yellow background"); 

Je l'ai essayé avec Windows 10, ne fonctionne pas.

Je l'ai essayé avec Linux Ubuntu, j'ai travaillé, mais je ne sais pas si cela fonctionne pour toutes les variantes de Linux.

Je n'ai pas de Mac, donc malheureusement je ne peux pas l'essayer, mais si quelqu'un peut l'essayer, l'aide serait bien. (Je ne sais pas si Mac a cette invite de commande, donc je voudrais remercier tout le monde qui peut m'en dire plus)

Si c'est possible, je voudrais le faire sans n'importe quelle bibliothèque, mais si c'est beaucoup plus facile ou sans bibliothèque vraiment très dur, que c'est ok. (Et si c'est une bibliothèque, je serais heureux Si vous pouviez me dire ce que je dois faire si je veux publier mon programme qui contient cette bibliothèque).

Merci, abilnf

+0

poser une question. Pas trente. [jansi] (http://fusesource.github.io/jansi/) –

+0

Ces codes couleur ANSI https://en.wikipedia.org/wiki/ANSI_escape_code devraient fonctionner sur la plupart/tous les terminaux Linux, mais pas sur Windows: " La console Win32 n'a pas pris en charge les séquences d'échappement ANSI jusqu'à Windows 10 Threshold 2. " –

Répondre

0

Il y a une bibliothèque Java JANSI pour réaliser cette opération sous Windows en rendant des séquences d'échappement ANSI.

Voici comment vous pouvez l'utiliser

import org.fusesource.jansi.AnsiConsole; 
import static org.fusesource.jansi.Ansi.*; 
import static org.fusesource.jansi.Ansi.Color.*; 

public class Sample 

{ 

    public static void main(String[] args) 
    { 
AnsiConsole.systemInstall(); 

System.out.println(ansi().fg(RED).a("Hello World").reset()); // Colored 
System.out.println("This is uncolored"); 

AnsiConsole.systemUninstall(); 
} 
}