0

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

有谁知道这个代码应该是什么以及如何将它重写为java.awt.Color.Color我可以使用的?谢谢。

4

3 回答 3

2

这些可能是ANSI 转义码

于 2013-03-06T15:02:19.870 回答
2

这些是ANSI 终端代码。恐怕我对你问题的第二部分无能为力。

于 2013-03-06T15:02:24.373 回答
1

是的,这些是转义序列,用于向终端发出您想要更改当前颜色的信号(这种样式也用于告诉终端也移动光标。)。这是什么类型的终端?AFAIK 黄色应该是\033[1;33m,深绿色应该是\033[0;32m,白色应该是\033[1;37m。切换回以前的颜色将是 \033[0m.

至于将它们转换为 Java Color,我不相信有一个内置的 API 调用,但是自己编写一个应该很容易。

如果你正在为 Linux/Bash 写作,这里有一个方便的指南

于 2013-03-06T15:06:58.357 回答