2015-10-23 111 views
0

尝试使用ANSI转义码时,它不起作用。我会假设这是因为JCreator不支持这些转义码。在使用System.out.println时是否有其他方式可以打印出颜色?我正在使用的ANSI代码与我试图作为试用打印的内容一致。代码在一个类中,它运行正常。JCreator中的颜色

final String ANSI_RESET = "\u001B[0m"; 
final String ANSI_BLACK = "\u001B[30m"; 
final String ANSI_RED = "\u001B[31m"; 
final String ANSI_GREEN = "\u001B[32m"; 
final String ANSI_YELLOW = "\u001B[33m"; 
final String ANSI_BLUE = "\u001B[34m"; 
final String ANSI_PURPLE = "\u001B[35m"; 
final String ANSI_CYAN = "\u001B[36m"; 
final String ANSI_WHITE = "\u001B[37m"; 
System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET); 

回答

0

System.out没有颜色的概念。它是一种抽象,用于向任何类型的目标输出文本,无论是IDE的控制台,文件还是丢弃输出的NULL目标。

ANSI代码被理解为只有由ANSI兼容的控制台,例如Windows命令行提示。所以如果你从cmd运行你的代码(不重定向输出),你会看到代码生效。在你的IDE控制台中,他们不会。