结合JNA的使用可以让groovy的控制台程序拥有linux终端一般的彩色数据效果。需要jna.jar包放到classpath可以找到的路径下就可以了。
- import com.sun.jna.win32.StdCallLibrary;
- import com.sun.jna.*;
- public interface Kernel32 extends StdCallLibrary {
- Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class);
- int GetStdHandle(int stdHand);
- boolean SetConsoleTextAttribute(int hConsoleOutput, int textAtt);
- }
- def out={color,str->
- int ptr= Kernel32.INSTANCE.GetStdHandle(-11);
- Kernel32.INSTANCE.SetConsoleTextAttribute(ptr, color);
- print(str);
- Kernel32.INSTANCE.SetConsoleTextAttribute(ptr, 3);
- }
- out (13,"windows ?"+ Platform.isWindows());
- out (14,"X11 ?"+ Platform.isX11());
运行一下就可以看到彩色数据的效果了。其中color的参数的具体颜色,可以打开一个控制台然后查看属性
黑色 是数字 0 以此类推
最后我再这个基础上改了一个数据比对程序,下面是效果图
时间: 2024-10-30 13:35:45