JLine

JLine 是一个用来处理控制台输入的Java类库,目前最新的版本是0.9.94。 其官方网址是http://jline.sourceforge.net。 在介绍JLine之前,首先还是介绍一下Java 6中的Console类,以便进行对比。 3 JLine JLine不依赖任何core Java以外的类库,但是其不是纯Java的实现。 在Windows平台下,JLine通过自带的.dll文件初始化终端。jline.jar中包含了jline32.dll和jline64.dll,在Windows平台上使用的时候, JLine会自动将其解压缩到临时目录并进行加载。 在Unix或者Max OS X平台下,JLine通过stty命令初始化终端。例如通过调用stty -icanon min 1将控制台设置为character-buffered模式。以及通过调用stty -echo禁止控制台回显。在修改终端的属性之前,JLine会对终端的属性进行备份,然后注册一个ShutdownHook,以便在程序退出时进行恢复。由于JVM在非正常退出时(例如收到SIGKILL信号)不保证ShutdownHook一定会被调用,因此终端的属性可能无法恢复。 JLine使用起来非常简单,jline.jar中一共只有20几个类,源码也不难懂。以下是个简单的例子,其中readLine函数的参数指定了命令行提示符: Java代码 收藏代码 ConsoleReader reader = new ConsoleReader(); String line = reader.readLine(">");
posted @ 2017-06-21 16:41  牧 天  阅读(1524)  评论(0)    收藏  举报