我把一个对象序列化后,用对象流读入文件多个对象,存到链表里,读取只能读最后一个对象,为什么啊?
怎样才能把文件里的对象全读出来?ois=newObjectInputStream(newFileInputStream(file));myList=(LinkedList...
怎样才能把文件里的对象全读出来?
ois=new ObjectInputStream(new FileInputStream(file));
myList=(LinkedList<Engineer>) ois.readObject();
myList.size恒等于1,哪位大神能帮一下啊! 展开
ois=new ObjectInputStream(new FileInputStream(file));
myList=(LinkedList<Engineer>) ois.readObject();
myList.size恒等于1,哪位大神能帮一下啊! 展开
展开全部
你要操作什么没看明白?文件里面的数据还是文件?如果是数据的话用
read(byte[] buf, int off, int len)这个方法
LinkedList<Engineer>这个表示你要的内容应该为Engineer类封装的内容,但是这个东西是写在文件里的吗?具体怎么写的
你要确定你写入的方式同样是用序列化对象写入的,必须是
new ObjectOutputStream(new FileOutputStream(file)).writeObject(new Engineer);
这样在读取的时候才不会出现错误的,希望对你有所帮助
read(byte[] buf, int off, int len)这个方法
LinkedList<Engineer>这个表示你要的内容应该为Engineer类封装的内容,但是这个东西是写在文件里的吗?具体怎么写的
你要确定你写入的方式同样是用序列化对象写入的,必须是
new ObjectOutputStream(new FileOutputStream(file)).writeObject(new Engineer);
这样在读取的时候才不会出现错误的,希望对你有所帮助
更多追问追答
追问
我写的没错啊,但是读的时候每次都是读出最后一个对象,前面输入的全被覆盖了。但是产生的文件里全都有,所以输入应该是没错的。
追答
myList.size 放在while循环外面就可以,在循环里面一次只能对一个对象的数据,他一次添加一条,长度肯定为1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询