用于读写ANSI转义字符流的Java框架

8
阅读ANSI转义序列是非常微妙的,很容易出错。我正在寻找一个库,其中包含读取转义序列的抽象,最好作为某些漂亮类型的实例。如果该库提供了强类型而不是一切都是强类型并祝你好运做自己的事情,那就太好了。
任何指向foss库的指针将不胜感激。
类似的问题(将ANSI转义(终端格式/颜色代码)转换为HTML的库),似乎有类似的动机,但仍未得到答案。

我不知道任何库,但曾经为Java终端实现编写了一些部分。我认为仅涉及颜色更改和光标移动。 - Paŭlo Ebermann
@PE,是的,我看过几个终端仿真器,但解析流、处理转义序列的逻辑几乎总是嵌入了处理Swing相关操作(如移动光标等)的逻辑中。不幸的是,这些终端仿真器没有将两个问题分开处理,而是把所有东西都混在一起。 - mP.
@Giann,因为我的问题很少得到回答。看看我的问题,你就会明白了。我尝试提出一些需要思考的有趣问题,而不仅仅是指向Google或文档。 - mP.
很遗憾,我不知道有这样的库。像其他人一样,我曾经编写过处理这些序列的代码(用于Java终端仿真器)。但我很好奇你想用中间类型做什么?输入会来自哪里? - StaxMan
我希望在服务器(ApacheSshd)和Shell之间编写一个终端仿真器层。 - mP.
这个想法是,也许我的中间位会添加一些历史记录、制表符自动完成等功能。 - mP.
2个回答

7

您可能想要看一下Jansi。


这是主页GitHub仓库链接。

希望这可以帮到您。


几乎可以支持写入 ANSI,但是查看类继承结构,似乎没有进行任何读取(没有叫做XXXReader的类)。 - mP.
它似乎也可以读取ansi编码的文件。请查看AnsiConsoleExample2。在将jansi注册到系统后,它使用常规io流。它看起来很好,因为您可以重用已实现流的功能。 - c00kiemon5ter

0

ANSI4J是一种Java库,用于解析带有转义码的文本。它支持所有带参数和无参数的ISO 6429函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接