[Java 9]
在尝试通过序列化将许多对象存储到二进制文件中时,我遇到了一个无法直接读取第50个对象的问题,我想到解决问题的最佳方法是循环遍历所有对象。文件,然后选择我想要的那个。这当然是非常低效的,我在想是否有更好的方法来做到这一点。谢谢你的帮助!
答案 0 :(得分:1)
不,没有更好的方法可以做到这一点。序列化数据本质上是串行的,而不是随机访问,并且依赖于流中较早的数据,当然还取决于流头部。请参阅对象序列规范的协议部分。
您必须致电readObject()
N 次以获取 N 对象。