java:控制台上的彩色system.out消息

时间:2010-11-15 08:27:36

标签: java unix user-interface

我希望我的命令行java程序将彩色文本输出到unix控制台。我特意在Ubuntu 10.4上使用gnome-terminal。 我可以在终端上获得类似echo "\033[01;32m"Hello的颜色。

如何使用java代码触发此操作?感谢

3 个答案:

答案 0 :(得分:7)

如果您不关心终端兼容性,只需将echo替换为System.out.println(以上。例如,

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

答案 1 :(得分:4)

文本的颜色位于操作系统层,所以我认为你可以使用JNI调用来实现。

Try this example

注意:使unix等效,

OR

javacurses对您的案例也有帮助

OR

enigma-shell也很有帮助

答案 2 :(得分:3)

这样可以解决问题:

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

然后将inputStream重定向到System.out,如下所示:

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

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