有没有办法从带有颜色格式数据的进程中捕获控制台输出?目前我只捕获文本输出:
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);
}
Run Code Online (Sandbox Code Playgroud)
但是我找不到捕获此文本颜色数据的方法。彩色文本似乎没有以任何特殊字符或任何东西开头。
我正在将此捕获的文本打印到 UI 以供用户查看此过程的日志,但很难阅读,因此我想从控制台复制颜色。
这是一个如何在 Go 中完成的示例,但这可以在 Java 中完成吗?
这个应用程序将在 Windows 上运行,但如果它也可以通过从 Shell 或 Bash 读取相同的颜色数据,也可以在 Linux 或 MacOS 上运行,那就太好了。
| 归档时间: |
|
| 查看次数: |
580 次 |
| 最近记录: |