我有严重的问题。我有一个程序可以使用命令提示符,程序可以将彩色信息写入其中。它还将消息保存到文本.log文件中。但是当我用我的java程序读取日志时,它会在文本之前写入黄色文本的instand:[33;1m
,它应该是黄色的。我注意到[37;22m
用于深绿色,[37;1m
用于白色等(在此代码之前是一个小箭头,但我无法将其粘贴到任何位置。)
有谁知道这些代码假设是什么以及如何将其重写为我能够使用的java.awt.Color.Color
?感谢。
答案 0 :(得分:2)
这些可能是ANSI escape codes。
答案 1 :(得分:2)
这些是ANSI terminal codes。我恐怕无法解决你问题的第二部分。
答案 2 :(得分:1)
是的,这些是用于向您要更改当前颜色的终端发信号的转义序列(此样式也用于告知终端也移动光标。)。这是什么类型的终端? AFAIK黄色应为\033[1;33m
,深绿色应为\033[0;32m
,白色应为\033[1;37m
。要切换回以前的颜色
\033[0m
。
至于将它们转换为Java Color,我不相信有一个内置的API调用,但是自己编写它应该很容易。
如果您是为Linux / Bash here is a handy guide撰写的话: