【发布时间】:2010-03-23 13:15:29
【问题描述】:
我有以下从缓冲阅读器读取的示例:
while ((inputLine = input.readLine()) != null) {
System.out.println("I got a message from a client: " + inputLine);
}
循环中的代码println 将在缓冲阅读器中出现任何内容时执行(在本例中为input)。在我的例子中,如果客户端应用程序向套接字写入内容,循环中的代码(在服务器应用程序中)将被执行。
但我不明白它是如何工作的。 inputLine = input.readLine() 等到缓冲阅读器中出现某些内容,当那里出现某些内容时,它返回 true 并执行循环中的代码。但是当null可以返回。
还有一个问题。上面的代码取自 throws Exception 的方法,我在线程的 run 方法中使用了这段代码。当我尝试将throws Exception 放在run 之前时,编译器会抱怨:被覆盖的方法不会引发异常。没有throws exception,编译器还有另一个抱怨:未报告的异常。那么,我该怎么办?
【问题讨论】:
-
@Roman - 你知道这笔交易。将不同的问题放在不同的 SO Questions 中!!
-
Stephen C,我认为添加的部分也是“我应该如何从缓冲阅读器中读取?”的一部分。但我明白你的意思。我删除了添加的部分。
标签: java bufferedreader readline ioexception