音乐推荐
说明
本文旨在介绍个人对jansi的封装处理(具体的jansi使用教程请自行Baidu或者Google),jansi包用于在控制台中输出色彩丰富的文字,其Maven坐标为:
|
|
Intellij IDEA默认支持Ansi Color,即可以正常识别Ansi字符对应的颜色,但不支持斜体、双下划线、闪烁等特效;而Eclipse控制台默认无法识别Ansi颜色字符,它需要通过安装一个插件来实现,插件的地址为:http://www.mihai-nita.net/eclipse,安装方式可以参考:Eclipse安装AnsiInConsole插件 中的Installation说明(实际上Eclipse安装了该插件仅仅是支持了Ansi颜色字符的识别,依然不支持特效)。
彩色文字输出简单封装
|
|
彩色文字输出测试
测试样式:
|
|
测试结果:

本测试是基于Intellij IDEA的测试,对于Eclipse可能部分特效不支持。
高度可定制化的控制台彩色输出
除了一个简单的输出封装之外,本人也封装了一个高度可定制化的有趣的输出工具ColorfulRender,该类以链式编程的方式来进行中间渲染处理,同时通过terminated字段实现每个实例只能调用一次终止方法:
|
|
高度可定制化测试
测试样例:
|
|
测试结果:

IDEA目前仅支持黑体、反显、下划线这三种特效。Eclipse在关闭前、背景色渲染之后无法恢复成默认渲染!
生产环境中一般都是将日志输出到文件中,所以基本不会使用jansi来实现控制台输出颜色渲染。有人可能会问,那你写这么多有什么用?我只能说这是个人的爱好吧!另外日志框架logback也是支持定制日志输出级别的颜色(就是有些丑,都是暗色调渲染),有需要请自行搜索!
本文源码已经托管在GitHub上的个人工具包项目中的一小部分,可以自行下载参考:GitHub1 或者 GitHub2
| 编写日期:2017-06-03 |
| 发布日期:2017-06-03 |
下篇预告
使用Protostuff提高(反)序列化效率