有没有一种方法可以捕获带有颜色格式数据的进程控制台输出?目前我只能捕获文本输出:
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "mvn dependency:resolve");
// mvn dependency:resolve is an example of a process that outputs color
Process p = builder.start();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
但是我无法找到一种捕获此文本颜色数据的方法。彩色文本似乎不以任何特殊字符或其他方式开头。
我将打印此捕获的文本到UI,以便用户看到此过程的日志,但很难阅读,因此我想从控制台复制颜色。
这里有一个Go语言的示例,但是Java能做到吗?
此应用程序将在Windows上运行,但如果可以通过从Shell或Bash读取相同的颜色数据来在Linux或MacOS上工作,那就太好了。