您的位置:首页 > 移动开发 > Objective-C

Java:关于ObjectOutputStream导致的EOFException问题

2017-08-04 20:47 519 查看
从昨晚开始调一个异常,到今天上午,没有丝毫头绪。今天中午终于在一个2012年的帖子里找到了异常的原因,现在就把这个异常和对应的处理方法写出来,希望对遇到同样问题的你有所帮助。

我遇到的异常时昨天提到的EOFException,我在一个文件里明明是有对象的,但是想读取的时候,却总是读不出来,总是抛出EOFException。因为我需要先读取出文件中的对象,然后修改这个对象里的东西,再把这个对象写进文件,就开了一个对象输入流和一个对象输出流。但是,问题就来了



就像这样,总是抛出异常。

后来在上面提到的帖子里找到了原因,这是帖子里大神说的



上课老师没有讲到对象输出流有这个特性,在api文档里也没看到,就被这个问题困扰了一晚上,我也是。。。

找到了问题原因了,就是我实例化对象输出流的时候它把我的那个文件里的内容截成了4个字节,对象自然就没了,读的时候就会读取不到从而抛出EOFException。所以,如果同时开了两个流,对象输出流的实例化不能放在对象输入流的读取前,才能保证正常的读取文件内容。就像这样,就可以正常读取了



ok,继续敲代码去了

2017/8/4 20:46

Lucifer
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐