如何在Java中使用echo读取线条?

时间:2011-09-01 12:01:44

标签: java console readline bufferedreader

我想使用带有一种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...!                            
    }                           
}                    

当然我可以在一些线程中封装这种行为并继续使用一个库,我只是想知道是否已经发明了一些轮子。

感谢任何提示!

2 个答案:

答案 0 :(得分:1)

大多数终端,包括Ubuntu和Windows中的默认终端(我相信)都不会将字符传递给JVM,直到用户返回。 (即,它在系统的较低级别上以全线缓冲。)

如果您需要从终端一次读取一个字符,则必须使用较低级别的系统库。

相关问题:

(disclamer,我不完全确定我正确理解你的问题。)

答案 1 :(得分:1)