首页 新闻 搜索 专区 学院

在txt文件中 序列化和反序列化多个对象

0
悬赏园豆:10 [已解决问题] 解决于 2017-07-07 22:00

  每当创建一个对象时就将这个对象序列化存储在一个文件中,可是当反序列化读取这些对象时,只能读取一个。如何才能全部读取。请大神用java语言帮忙解决一下。

    (自己网上查了一些说每次序列化进去对象的时候都会有Header,要重写ObjectOutputStream,但是重写之后还一直报异常java.io.StreamCorruptedException: invalid s)

丿少女梦丶的主页 丿少女梦丶 | 初学一级 | 园豆:172
提问于:2016-12-04 21:16
< >
分享
最佳答案
0

你再写第二个时候是不是覆盖写了?

收获园豆:10
吴瑞祥 | 高人七级 |园豆:28979 | 2016-12-04 23:50

不是覆盖   我用的追加   可以把多个对象写进去

丿少女梦丶 | 园豆:172 (初学一级) | 2016-12-05 09:37

@六点丶: 一个对象写进去是“{a=1}”你再追加一个“{a=1}{a=1}”

但你想读成数组出来需要的是“[{a=1},{a=1}]”你看下写入到文件的数据是怎么用的吧

吴瑞祥 | 园豆:28979 (高人七级) | 2016-12-05 10:43

@吴瑞祥: 直接把对象写进去看是看不懂的一堆东西    但是确实是写进去了  就是读取的时候读到的只有一个对象

丿少女梦丶 | 园豆:172 (初学一级) | 2016-12-05 11:46

@六点丶: 你没看明白我的意思...

你按一个读当然只能读一个出来.要按数组读自然就能读数组出来.

写入的时候也是一个意思.

吴瑞祥 | 园豆:28979 (高人七级) | 2016-12-05 12:19

@吴瑞祥: 写入的时候是一个一个写入的,但是都存在文件里了,读取的时候不是应该把所有存在文件中的对象都读出来吗,我用一个集合接收读出来的还是只有一个,集合长度也一直是1.

丿少女梦丶 | 园豆:172 (初学一级) | 2016-12-05 13:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册