Stream 如何在不阻塞的情况下读取行()

Stream 如何在不阻塞的情况下读取行(),stream,readline,nonblocking,Stream,Readline,Nonblocking,我正在尝试使用System.readline()流从控制台输入读取行。 我希望该方法检查是否将一行插入控制台,如果是,则检查其是否等于“退出”。如果没有将一行插入控制台,我希望该方法什么也不做 /** * this method checks if the Exit command with written on the Servers console */ private void checkIfTypedExitOnKeyboard() { System.out.p

我正在尝试使用System.readline()流从控制台输入读取行。 我希望该方法检查是否将一行插入控制台,如果是,则检查其是否等于“退出”。如果没有将一行插入控制台,我希望该方法什么也不做

    /**
 * this method checks if the Exit command with written on the Servers console
 */
private void checkIfTypedExitOnKeyboard() {



    System.out.println("checking if user printed Exit:-)");//DELETE TEST
   long end=System.currentTimeMillis()+2000;
    InputStreamReader fileInputStream=new InputStreamReader(System.in);
    BufferedReader bufferedReader=new BufferedReader(fileInputStream);
    try
    {   
       while(System.currentTimeMillis()<end && bufferedReader.ready() && (bufferedReader.readLine()!=null))
            {   
                if (bufferedReader.ready() && fileInputStream.ready() && bufferedReader.readLine().equals("Exit")){//TODO fix this
                    System.out.println("Reactor is shutting down");
                    stopReactor();
                }
            }
            bufferedReader.close();
    }
    catch(java.io.IOException e)
    {
        e.printStackTrace();
    }
}
/**
*此方法检查退出命令是否已写入服务器控制台
*/
私有void checkIfTypedExitOnKeyboard(){
System.out.println(“检查用户是否打印了出口:-”);//删除测试
长端=System.currentTimeMillis()+2000;
InputStreamReader文件InputStream=新的InputStreamReader(System.in);
BufferedReader BufferedReader=新的BufferedReader(fileInputStream);
尝试
{   

虽然(System.currentTimeMillis()P.S试图在其他几篇文章中找到这方面的信息,但似乎没有任何效果。如果你知道如何做到这一点,你将对我有很大帮助:-)需要你的帮助..请:-)