我想使用带有一种 readLine() (或类似)的 BufferedReader,它可以为每次按下的按键返回回显。
它用于远程终端。另一种询问方式是如何在 java 中实现控制台。
这是我想到的,但太难看了。是否有任何已知的库可以实现类似的功能?
while(condition) {
nByteRead = in.read(buffer);
if (nByteRead != -1) {
// ECHO
out.write(buffer, 0, bytes_read);
// read bytes till NEW_LINE...
// etc...!
}
}
当然,我可以将这种行为封装在某个线程中,并继续使用库来实现此目的,我只是想知道是否已经发明了一些轮子。
感谢您的任何提示!
最佳答案
大多数终端,包括 Ubuntu 和 Windows 中的默认终端(我相信),在用户按回车键之前不会将字符传递给 JVM。 (即,它在系统的较低级别上以全线为基础进行缓冲。)
如果您需要从终端一次读取一个字符,则必须使用较低级别的系统库。
相关问题:
(免责声明,我不确定我是否正确理解了您的问题。)
关于java - 如何在Java中使用echo读取行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7269970/