Java:对象流读取文本中的对象抛出EOFException的解决方法

今天,在操作对象流的时候遇到了问题,并最终找到了解决方案,特分享出来,希望能帮到遇到同样问题的你。
我首先往文件中存入了5个对象,然后读取,读到null就停止。原本以为引用对象是靠null来判断,谁知
Java:对象流读取文本中的对象抛出EOFException的解决方法_第1张图片
对象是读完了,可是抛出了一个EOFException,这是什么鬼?问老师后,老师说这是对象流读到文件末尾后抛出的一个异常,代表着文件读完了。好吧,看来这种读取是没问题的,有问题的是我的判断方式。老师说可以用这个异常作为读完的标志,就是读到出现这个异常,代表读完了。
修改代码,如下
Java:对象流读取文本中的对象抛出EOFException的解决方法_第2张图片
完美解决,哈哈哈。
当然了,最好不要这样用,可以先把所有对象存到集合中,再把集合对象用对象流存到文件中,读取的时候只需要读取这个集合对象,然后再遍历,就可以拿到所有的对象了,而且没有异常,是不是很完美?

2017/8/3 21:51
Lucifer

你可能感兴趣的:(记录)