java: красочная система.сообщения на консоли

Я хотел бы, чтобы моя программа командной строки java выводила цветные тексты в консоль unix. Я специально использую gnome-terminal на Ubuntu 10.4. Я могу сделать что-то вроде echo "3[01;32m"Hello на терминале.

Как я могу вызвать это с помощью кода java? Спасибо

3 ответов


Если вы не заботитесь о совместимости терминалов, просто заменить echo С System.out.println( выше. Например,

System.out.println("3[01;32mHello\n");

цвет текста на уровне ОС, поэтому я думаю, что вы можете сделать это с помощью вызова JNI.

попробуйте этот пример

Примечание: сделайте unix эквивалентом этого,

или

javacurses также полезно в вашем случае

или

enigma-shell также полезно


это сделало бы трюк:

Process p = Runtime.getRuntime().exec("echo -e \"\033[01;32m\"Could Not Add The Task!");

затем перенаправьте inputStream в систему.вот так:

        BufferedReader stdInput = new BufferedReader(new 
             InputStreamReader(p.getInputStream()));

        while ((s = stdInput.readLine()) != null) {
            System.out.println(s);
        }