java 控制台打印样式diy 目前只在idea测试 没有在cmd eclipse等其他地方测试。
System.out.print("\033[ ( 这里填样式数字 )m"+msg)
/**
* @author : lrq
* @Title :
* @date : 2020-12-02 10:50
* 0无样式
* 1加粗
* 3斜体
* 4下划线
* 9删除线
* 21加粗下划线
* 字体颜色 背景颜色
* 红色 31 91 41
* 绿色 31 91 42
* 黄色 33 93 43
* 蓝色 34 94 44
* 紫色 35 95 45
* 浅蓝 36 96 46
* 灰色 37 90 47
* 反转 97 40 7(两个一起反转)
*/
public class PrintStyleUtil{
enum PrintStyleEnum{
无样式(0),
加粗(1),
斜体(3),
下划线(4),
删除线(9),
加粗下划线(21),
字体颜色红色(31),
字体颜色绿色(32),
字体颜色黄色(33),
字体颜色蓝色(34),
字体颜色紫色(35),
字体颜色浅蓝(36),
字体颜色灰色(37),
字体颜色红色鲜艳(91),
字体颜色绿色鲜艳(91),
字体颜色黄色鲜艳(93),
字体颜色蓝色鲜艳(94),
字体颜色紫色鲜艳(95),
字体颜色浅蓝鲜艳(96),
字体颜色灰色鲜艳(90),
/**
* 将当前背景颜色设置为字体颜色
*/
字体颜色背景颜色(97),
背景颜色红色(41),
背景颜色绿色(42),
背景颜色黄色(43),
背景颜色蓝色(44),
背景颜色紫色(45),
背景颜色浅蓝(46),
背景颜色灰色(47),
/**
* 将当前字体颜色设置为背景颜色
*/
背景颜色字体颜色(40),
/**
* 字体颜色与背景颜色互换
*/
颜色反转(7);
private final int code;
private PrintStyleEnum(int code) {
this.code = code;
}
}
public static <T> void Print(T t){
Print(t,PrintStyleEnum.颜色反转);
}
public static <T> void Println(T t){
Println(t,PrintStyleEnum.颜色反转);
}
public static <T> void Print(T t,PrintStyleEnum... printStyleEnums){
for (PrintStyleEnum printStyleEnum : printStyleEnums) {
System.out.print("\033["+printStyleEnum.code+"m");
}
System.out.print(t);
ending();
}
public static <T> void Println(T t,PrintStyleEnum... printStyleEnums){
Print(t,printStyleEnums);
Wrap();
}
/**
* 清除设置的样式
*/
public static void ending(){
System.out.print("\033[0m");
}
/**
* 换行
*/
private static void Wrap(){
System.out.println();
}
/**
* 设置控制台打印文本样式,与ending()方法一起使用
* @param printStyleEnums 设置的样式
*/
public static void setStyle(PrintStyleEnum... printStyleEnums){
for (PrintStyleEnum printStyleEnum : printStyleEnums) {
System.out.print("\033["+printStyleEnum.code+"m");
}
}
}
class TestPrint{
public static void main(String[] args) {
PrintStyleUtil.Print("sout");
PrintStyleUtil.Print("asd",PrintStyleUtil.PrintStyleEnum.加粗下划线,PrintStyleUtil.PrintStyleEnum.字体颜色蓝色,PrintStyleUtil.PrintStyleEnum.背景颜色红色, PrintStyleUtil.PrintStyleEnum.颜色反转);
PrintStyleUtil.Print("sout",PrintStyleUtil.PrintStyleEnum.删除线,PrintStyleUtil.PrintStyleEnum.字体颜色红色,PrintStyleUtil.PrintStyleEnum.颜色反转);
PrintStyleUtil.Println("sout",PrintStyleUtil.PrintStyleEnum.字体颜色背景颜色,PrintStyleUtil.PrintStyleEnum.背景颜色红色,PrintStyleUtil.PrintStyleEnum.下划线,PrintStyleUtil.PrintStyleEnum.加粗下划线);
PrintStyleUtil.setStyle(PrintStyleUtil.PrintStyleEnum.背景颜色红色,PrintStyleUtil.PrintStyleEnum.加粗下划线);
System.out.println("sssssss");
System.out.println("ssssaaaasss");
PrintStyleUtil.ending();
System.out.println("aaaaaa");
}
}