让groovy控制台程序拥有彩色输出"面孔"

 结合JNA的使用可以让groovy的控制台程序拥有linux终端一般的彩色数据效果。需要jna.jar包放到classpath可以找到的路径下就可以了。
  1. import com.sun.jna.win32.StdCallLibrary;
  2. import com.sun.jna.*;
  3. public interface Kernel32 extends StdCallLibrary {
  4.    Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class);
  5.    int GetStdHandle(int stdHand);
  6.    boolean SetConsoleTextAttribute(int hConsoleOutput, int textAtt);
  7. }
  8. def out={color,str->
  9.     int ptr= Kernel32.INSTANCE.GetStdHandle(-11);
  10.     Kernel32.INSTANCE.SetConsoleTextAttribute(ptr, color);
  11.     print(str);
  12.     Kernel32.INSTANCE.SetConsoleTextAttribute(ptr, 3);
  13. }
  14. out (13,"windows ?"+ Platform.isWindows());
  15. out (14,"X11 ?"+ Platform.isX11());
运行一下就可以看到彩色数据的效果了。其中color的参数的具体颜色,可以打开一个控制台然后查看属性


黑色 是数字 0  以此类推

最后我再这个基础上改了一个数据比对程序,下面是效果图

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐