Stream 如何在不阻塞的情况下读取行()
我正在尝试使用System.readline()流从控制台输入读取行。 我希望该方法检查是否将一行插入控制台,如果是,则检查其是否等于“退出”。如果没有将一行插入控制台,我希望该方法什么也不做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
/**
* 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试图在其他几篇文章中找到这方面的信息,但似乎没有任何效果。如果你知道如何做到这一点,你将对我有很大帮助:-)需要你的帮助..请:-)