Jline终端编写器输出格式错误的输出

时间:2018-12-06 23:02:21

标签: java jline

Jline库终端在尝试使用其writer时遇到一些问题。当我们尝试使用终端编写器的print语句编写字符串时,它会在字符串周围附加字符。

示例: 打印时:terminal.writer().print("Username:"); 我们得到的输出字符串为“ [[?1l ...]。[?1000l。[?2004lUsername:。[?1h。== [?2004h]],在这里我们只想获取” Username:“作为输出。 / p>

我们通过设置“ BRACKETED_PASTE_OFF”尝试了来自此链接https://github.com/jline/jline3/issues/181的解决方案。但这没用。

1 个答案:

答案 0 :(得分:0)

我知道了,我不得不使用printAbove来删除读取一行时添加的字符串,并将BRACKETED_PASTE设置为false来删除在清理阶段添加的括号:

final TerminalBuilder builder = TerminalBuilder.builder(); builder.jansi(false); builder.streams(in, out); terminal = builder.build(); reader = LineReaderBuilder.builder().terminal(terminal).build(); reader.option(BRACKETED_PASTE, false); reader.printAbove(StringToPrint); terminal.writer().print(StringToPrint);