Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中使用echo读取行?_Java_Console_Readline_Bufferedreader - Fatal编程技术网

如何在Java中使用echo读取行?

如何在Java中使用echo读取行?,java,console,readline,bufferedreader,Java,Console,Readline,Bufferedreader,我想使用一个具有readLine()类型(或类似类型)的BufferedReader,它可以为每次按下的按键返回一个回音 这是一个远程终端。另一个问题是如何在java中实现控制台 这是我想到的,但太难看了。是否有任何已知的库实现类似的功能 while(condition) { nByteRead = in.read(buffer); if (nByteRead != -1) { // ECHO out.write(buffer, 0, by

我想使用一个具有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中的默认终端(我相信),在用户点击return之前不会将字符传递给JVM。(即,它在系统中较低级别的全线基础上进行缓冲。)

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

相关问题:

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

有:

  • JLine:
  • Java诅咒:

我想您已经理解了,但我不想从终端读取数据,我想从套接字读取数据,向用户发送“echo”,这样他就可以看到输入的内容已经到达服务器。客户端是用java编写的吗?不,客户端不一定是java的。我会尝试使用JLine,但我看到它使用了一些dll,并且在windows和linux中的工作方式不同。我看到没有Java标准的方法来实现这一点,所以也许我会手工编写代码,谢谢