我想使用带有一种readLine()(或类似)的BufferedReader,它可以为每次按下的按键返回一个echo。
这是一个远程终端。其他问题是如何在java中实现控制台。
这是我想到的但是太难看了。有没有任何已知的库实现这样的东西?
while(condition) {
nByteRead = in.read(buffer);
if (nByteRead != -1) {
// ECHO
out.write(buffer, 0, bytes_read);
// read bytes till NEW_LINE...
// etc...!
}
}
当然我可以在一些线程中封装这种行为并继续使用一个库,我只是想知道是否已经发明了一些轮子。
感谢任何提示!
答案 0 :(得分:1)
大多数终端,包括Ubuntu和Windows中的默认终端(我相信)都不会将字符传递给JVM,直到用户返回。 (即,它在系统的较低级别上以全线缓冲。)
如果您需要从终端一次读取一个字符,则必须使用较低级别的系统库。
相关问题:
(disclamer,我不完全确定我正确理解你的问题。)
答案 1 :(得分:1)
有: