我不得不使用
TextTerminal
类在 TextIO
中打印一些字符串,并且此代码运行良好:
public class InOut {
private final TextIO textIo;
private final TextTerminal<?> textTerminal;
public InOut() {
textIo = TextIoFactory.getTextIO();
textTerminal = textIo.getTextTerminal();
}
public void printLn(String output) {
textTerminal.println(output);
}
...
}
然而,我最近将 ANSI 转义序列添加到我在
println
方法中输入的字符串中,因为在使用 System.out.println
时,这些序列允许对文本进行格式化。然而,我注意到 TextIO
没有正确读取这些序列,而是将它们输出为文本。是否有 ANSI 转义序列的替代方案可以与 TextIO
和 TextTerminal
一起使用,或者是否有另一个类可以与 TextTerminal
一起使用,它将正确读取 ANSI 转义序列?
我尝试使用的转义序列是
"\u001B[32m"
(打印一些绿色文本)和"\u001B[0m"
(重置打印颜色)
忘记补充了:ChatGPT提议使用
AnsiTextTerminal
类,所以搜索了一些文档。我找到了这个页面:https://javadoc.io/doc/org.beryx/text-io/1.9.0/org/beryx/textio/jline/AnsiTextTerminal.html,但是当我尝试导入类时import org.beryx.textio.jline.AnsiTextTerminal
如 javadoc 页面所述,我的 IDE 找不到该类
更新:[链接] https://text-io.beryx.org/releases/latest/#terminal_temporary_props 解决了问题并回答了我的问题