【发布时间】:2014-08-20 00:40:12
【问题描述】:
所以,我有一个这个 ObjectInputStream,它大部分时间都是空的。 (它用于聊天服务器。)我认为这段代码会处理空条件。 (这是在它自己的线程中,因此它不会阻塞程序的其余部分。我正在重写以发送对象而不是字符串的先前解决方案用于阻塞直到它得到一些东西。我正在寻找一种方法来拥有类似的行为。)
程序运行时,这里出现空指针异常。 (因为该值显然是 null !)我怎样才能让流等到它收到一些东西来尝试读取它? (或者继续尝试直到它得到不为空的东西?)。
while((message = (Message)JavaChat.connection.oInStream.readObject()) != null)
{
// ...do some stuff...
}
编辑:堆栈跟踪。 (好像有点短吧?)
java.lang.NullPointerException
at javachat2.IncomingReader.run(IncomingReader.java:33)
at java.lang.Thread.run(Thread.java:745)
我在这里遗漏了什么明显的东西吗?
【问题讨论】:
-
请发布
NPE,并附上完整的回溯和它指向的部分代码。 -
这是它指向的代码部分。
-
@TheQuickBrownFox 你能改写一下吗?已经很晚了,这些话对我来说没有任何意义。
-
@HCBPshenanigans 发布 StackTrace
-
如果它是那一行,那么
JavaChat、JavaChat.connection或JavaChat.connection.oInStream之一的计算结果为null。无论如何,请参阅stackoverflow.com/questions/218384/…
标签: java sockets exception serialization stream