Java:关于ObjectOutputStream导致的EOFException问题

从昨晚开始调一个异常,到今天上午,没有丝毫头绪。今天中午终于在一个2012年的帖子里找到了异常的原因,现在就把这个异常和对应的处理方法写出来,希望对遇到同样问题的你有所帮助。
我遇到的异常时昨天提到的EOFException,我在一个文件里明明是有对象的,但是想读取的时候,却总是读不出来,总是抛出EOFException。因为我需要先读取出文件中的对象,然后修改这个对象里的东西,再把这个对象写进文件,就开了一个对象输入流和一个对象输出流。但是,问题就来了
这里写图片描述
就像这样,总是抛出异常。
后来在上面提到的帖子里找到了原因,这是帖子里大神说的
这里写图片描述
上课老师没有讲到对象输出流有这个特性,在api文档里也没看到,就被这个问题困扰了一晚上,我也是。。。
找到了问题原因了,就是我实例化对象输出流的时候它把我的那个文件里的内容截成了4个字节,对象自然就没了,读的时候就会读取不到从而抛出EOFException。所以,如果同时开了两个流,对象输出流的实例化不能放在对象输入流的读取前,才能保证正常的读取文件内容。就像这样,就可以正常读取了
这里写图片描述
ok,继续敲代码去了

2017/8/4 20:46
Lucifer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值