首页 > 编程语言 > 详细

cmd调用java程序,在cmd控制台打印出彩色文字

时间:2020-03-03 23:11:23      阅读:419      评论:0      收藏:0      [点我收藏+]

cmd调用java程序,在cmd控制台打印出彩色文字


以下仅为本人工作、学习过程中所接触到的内容,不足之处请多包涵。
测试环境:win7专业版的DOS

使用cmd调用java程序时,在cmd控制台打印出来的效果默认都是黑底白字,打印出来的报错信息也没有特殊标注,不易观察,所以希望能够控制cmd控制台的打印效果,对不同提示信息具有不同的颜色表示,这样也利于观察分析。
在网上也查了很多资料,大部分说的都是如何在eclipse控制台、IDEA控制台打印出彩色字体,有些说是可以在cmd控制台显示出彩色字体,但在本人测试环境上仍然没有效果。经过多次尝试,最终还是找到了一种有效的解决方法。

注:该测试使用记事本编辑测试代码,使用cmd编译、运行代码。

工具准备

下载工具jansi-xxx.jar,自行下载版本,测试使用版本为1.11。点我下载

编写测试代码

import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.Ansi.Color;
import org.fusesource.jansi.AnsiConsole;
class ColorTest{
    public static void main(String[] args){
        
        //System.out.println( Ansi.ansi().eraseScreen().fg(Ansi.Color.RED).a("Hello").fg(Ansi.Color.GREEN).a(" World").reset() );
        AnsiConsole.systemInstall();
        System.out.println("hello world!");
        System.out.println( Ansi.ansi().fg(Ansi.Color.RED).a("Hello").fg(Ansi.Color.GREEN).a(" World").reset() );
        System.out.println(Ansi.ansi().render("@|red Hello|@ @|green World|@").reset());
        AnsiConsole.out.println( Ansi.ansi().fg(Ansi.Color.RED).a("Hello World").reset() );
        AnsiConsole.out.println("Hello World");
        System.out.println("\u001B[32mColor \u001B[0m");
        AnsiConsole.systemUninstall();
        //System.out.println(Ansi.ansi().eraseScreen().render("@|red Hello|@ @|green World|@")); 
        
    }
}

注意
带有颜色的输出应包含在AnsiConsole.systemInstall();与AnsiConsole.systemUninstall();之间,否则会出现乱码,如下图
技术分享图片

测试结果

技术分享图片

其他说明

代码需要引用外部jar包,关于引用外部jar报的代码如何使用cmd进行编译、运行可参考:cmd控制台使用命令行编译、执行依赖其他jar包的java代码

参考

cmd调用java程序,在cmd控制台打印出彩色文字

原文:https://www.cnblogs.com/hai-feng/p/12405137.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!