来自控制台的颜色保存在文本文件中,例如。 [33; 1M

时间:2013-03-06 15:00:19

标签: java text colors message command-prompt

我有严重的问题。我有一个程序可以使用命令提示符,程序可以将彩色信息写入其中。它还将消息保存到文本.log文件中。但是当我用我的java程序读取日志时,它会在文本之前写入黄色文本的instand:[33;1m,它应该是黄色的。我注意到[37;22m用于深绿色,[37;1m用于白色等(在此代码之前是一个小箭头,但我无法将其粘贴到任何位置。)

有谁知道这些代码假设是什么以及如何将其重写为我能够使用的java.awt.Color.Color?感谢。

3 个答案:

答案 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撰写的话: