【发布时间】:2016-08-07 13:02:41
【问题描述】:
我正在尝试获取一个ObjectInputStream,它允许我从中读取数据,如果它的类型不正确,则将数据放回流中(使用mark 和reset)一些其他的代码来处理。我尝试将从Socket(以下示例中的s)检索到的InputStream 包装在BufferedInputStream 中,然后将其包装在ObjectInputStream 中,因为我认为这是解决方案,但是在调用@987654329 时@false 仍然返回。以下是该尝试:
ois = new ObjectInputStream(new BufferedInputStream(s.getInputStream()));
非常感谢任何帮助!
【问题讨论】:
-
s.getInputStream()是如何创建的? -
为什么不让“其他代码”处理已读取的对象而不是输入流。
-
@JohnnyV
s是Socket类型,使用ServerSocket创建,随后调用s.accept()来创建连接。 -
@rodit 我正在使用多个线程,所以当我可以将它推回流中直到另一个线程有机会读取它时,发送它会比我相信的更麻烦.
-
@HarveyAdcock 我明白了。