我正在开发一款简单的多人游戏,它在大多数情况下都有效,但有时当我使用ObjectOutput编写一个对象时,我得到了:
java.io.IOException:stream active
当ObjectOutputStream在仍然序列化对象时被重置时发生。我想知道是否有某种方法等待ObjectOutputStream在重置之前完成序列化,或者是否有其他解决方案来解决这个问题?
以下是出错的代码:
try {
objectWriter.writeObject(object);
objectWriter.flush();
objectWriter.reset();
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:0)
该代码位于类的私有writeObject()
方法中,或者您有多个线程使用相同的流。
没有办法做你的标题所要求的。你必须确保它不会发生。