我把一个对象序列化后,用对象流读入文件多个对象,存到链表里,读取只能读最后一个对象,为什么啊?

怎样才能把文件里的对象全读出来?ois=newObjectInputStream(newFileInputStream(file));myList=(LinkedList... 怎样才能把文件里的对象全读出来?
ois=new ObjectInputStream(new FileInputStream(file));
myList=(LinkedList<Engineer>) ois.readObject();
myList.size恒等于1,哪位大神能帮一下啊!
展开
 我来答
love爱有缘
2012-08-23 · TA获得超过1041个赞
知道小有建树答主
回答量:789
采纳率:0%
帮助的人:698万
展开全部
你要操作什么没看明白?文件里面的数据还是文件?如果是数据的话用
read(byte[] buf, int off, int len)这个方法
LinkedList<Engineer>这个表示你要的内容应该为Engineer类封装的内容,但是这个东西是写在文件里的吗?具体怎么写的
你要确定你写入的方式同样是用序列化对象写入的,必须是
new ObjectOutputStream(new FileOutputStream(file)).writeObject(new Engineer);
这样在读取的时候才不会出现错误的,希望对你有所帮助
更多追问追答
追问
我写的没错啊,但是读的时候每次都是读出最后一个对象,前面输入的全被覆盖了。但是产生的文件里全都有,所以输入应该是没错的。
追答
myList.size  放在while循环外面就可以,在循环里面一次只能对一个对象的数据,他一次添加一条,长度肯定为1
百度网友71fee91
2019-03-29
知道答主
回答量:2
采纳率:0%
帮助的人:1491
展开全部
是这样的,我也学到了这里,我们老师就是先把这两个类的对象先放到一个集合里边,然后,因为集合本身也是一个对象,然后就是可以把这个集合对象写入文件中,然后读的时候,再把这个存储集合的对象for循环遍历,如果你要得到某个一对象,在读的时候就用if条件语句,用intenceof判断这个是哪个对象,我是菜鸟,就是交流一下,莫喷,我待会把代码发上.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式