替代 TextIO

问题描述 投票:0回答:1

我不得不使用

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 找不到该类

java output
1个回答
-2
投票

更新:[链接] https://text-io.beryx.org/releases/latest/#terminal_temporary_props 解决了问题并回答了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.