java使用反序列化的时候,使用ObjectInputStream.readObject()读取出对象,结果抛出异常 20
java.io.EOFException:null。在网上查的问题是输入流读取对象到结尾不知道对象已经读取完毕,继续读取导致读取到null,解决方式是在对象结尾加入nul...
java.io.EOFException:null。在网上查的问题是输入流读取对象到结尾不知道对象已经读取完毕,继续读取导致读取到null,解决方式是在对象结尾加入null,然后在readobject的时候判断读取到null就结束。。。可是我想了半天也不知道如加入和判断,有人能帮下么
展开
2个回答
展开全部
try {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(buffer);
out.writeObject(null);
out.writeObject(1);
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray()));
System.out.println(in.readObject());
System.out.println(in.readObject());
} catch (Exception e) {
e.printStackTrace();
}
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(buffer);
out.writeObject(null);
out.writeObject(1);
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray()));
System.out.println(in.readObject());
System.out.println(in.readObject());
} catch (Exception e) {
e.printStackTrace();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询