我有严重的问题。我有一个与命令提示符一起工作的程序,该程序可以将颜色信息写入其中。它还将消息保存到文本 .log 文件中。但是当我用我的java程序阅读日志时,它会在黄色文本的情况下写下:[33;1m
在应该是黄色的文本之前。我注意到那[37;22m
是深绿色,[37;1m
是白色等。(在此代码之前是一个小箭头,但我无法将其粘贴到任何地方。)
有谁知道这个代码应该是什么以及如何将它重写为java.awt.Color.Color
我可以使用的?谢谢。
我有严重的问题。我有一个与命令提示符一起工作的程序,该程序可以将颜色信息写入其中。它还将消息保存到文本 .log 文件中。但是当我用我的java程序阅读日志时,它会在黄色文本的情况下写下:[33;1m
在应该是黄色的文本之前。我注意到那[37;22m
是深绿色,[37;1m
是白色等。(在此代码之前是一个小箭头,但我无法将其粘贴到任何地方。)
有谁知道这个代码应该是什么以及如何将它重写为java.awt.Color.Color
我可以使用的?谢谢。
这些可能是ANSI 转义码。
这些是ANSI 终端代码。恐怕我对你问题的第二部分无能为力。
是的,这些是转义序列,用于向终端发出您想要更改当前颜色的信号(这种样式也用于告诉终端也移动光标。)。这是什么类型的终端?AFAIK 黄色应该是\033[1;33m
,深绿色应该是\033[0;32m
,白色应该是\033[1;37m
。切换回以前的颜色将是
\033[0m
.
至于将它们转换为 Java Color,我不相信有一个内置的 API 调用,但是自己编写一个应该很容易。
如果你正在为 Linux/Bash 写作,这里有一个方便的指南: