51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1343|回复: 1
打印 上一主题 下一主题

【转帖】Jansi:让控制台输出彩色字符的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-7-13 15:19:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
给政府做项目时我们一般都使用的是Java,服务器一般都是Weblogic或Tomcat(开发环境)。经常使用Java的人都知道,它在后台输出的信息一般都是黑底白字,或在Linux环境中可以改成黑绿字等,反正是很单调。我也从来没想过它能够变成彩色,但今天我发现了一个java类库——Jansi——它能够让你在控制台输出色彩缤纷的文字。
Jansi虽然是一个很小的Java包,却有着丰富的接口,让你配置各种输出效果,但用法非常的简单:
CODE:
  1. <font size="4">import static org.fusesource.jansi.Ansi.*;
  2. import static org.fusesource.jansi.Ansi.Color.*;
  3. ...
  4. System.out.println( ansi().eraseScreen().fg(RED).a("Hello").fg(GREEN).a(" World").reset() );</font>
复制代码
相信你从上面的语义中能看出它是输出了红色的“Hello”和绿色的“World”。
它还有一种更简洁的写法:
CODE:
  1. <font size="4">System.out.println( ansi().eraseScreen().render("@|red Hello|@ @|green World|@") );</font>
复制代码
这种写法能实现相同的效果。
上面的用法是调用了Jansi输出接口生成彩色字。Jansi可以让你的System.out.println()方法直接输出彩色字体,用法是使用System.out.println()前,先执行:
CODE:
  1. <font size="4">import org.fusesource.jansi.AnsiConsole;
  2. ...
  3. AnsiConsole.systemInstall();</font>
复制代码
Jansi的这种技能实际上是利用ANSI转义代码来控制终端输出。很多高人用颜色各异的字符在终端屏幕上平凑出各种神奇复杂的精彩图案。这些代码的源文件通常保持为.ans后缀的文件,下面的这个图案就是利用Jansi输出MW-TSA2.ANS得到的,很神奇吧。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-7-13 16:46:19 | 只看该作者
直接复制了代码,保存起来日后用
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-25 17:28 , Processed in 0.062572 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表