我有从缓冲读者阅读以下示例:我应该如何从缓冲读取器读取数据?
while ((inputLine = input.readLine()) != null) {
System.out.println("I got a message from a client: " + inputLine);
}
每当东西在缓冲读取器出现(input
在这种情况下)在循环println
的代码将被执行。就我而言,如果客户端应用程序向套接字写入某些内容,则会执行循环中的代码(在服务器应用程序中)。
但我不明白它是如何工作的。 inputLine = input.readLine()
等待,直到出现在缓冲读取器中的东西出现,然后当它出现时返回true
,并且循环中的代码被执行。但是,当null
可以返回。
还有一个问题。上面的代码是从throws Exception
和我在Thread的run方法中使用此代码的方法中获得的。当我试图在run
之前放throws Exception
时,编译器会抱怨:重写的方法不会抛出异常。没有throws exception
我有另一个来自编译器的抱怨:未报告的异常。那么,我能做些什么?
@罗曼 - 你知道这笔交易。在不同的SO问题中提出不同的问题! – 2010-03-23 13:42:36
Stephen C,我认为增加的部分也是“我应该如何从缓冲读取器读取?”的一部分。但我明白你的观点。我删除了添加的部分。 – Roman 2010-03-23 13:51:06