Java:关于ObjectOutputStream导致的EOFException问题
2017-08-04 20:47
519 查看
从昨晚开始调一个异常,到今天上午,没有丝毫头绪。今天中午终于在一个2012年的帖子里找到了异常的原因,现在就把这个异常和对应的处理方法写出来,希望对遇到同样问题的你有所帮助。
我遇到的异常时昨天提到的EOFException,我在一个文件里明明是有对象的,但是想读取的时候,却总是读不出来,总是抛出EOFException。因为我需要先读取出文件中的对象,然后修改这个对象里的东西,再把这个对象写进文件,就开了一个对象输入流和一个对象输出流。但是,问题就来了
就像这样,总是抛出异常。
后来在上面提到的帖子里找到了原因,这是帖子里大神说的
上课老师没有讲到对象输出流有这个特性,在api文档里也没看到,就被这个问题困扰了一晚上,我也是。。。
找到了问题原因了,就是我实例化对象输出流的时候它把我的那个文件里的内容截成了4个字节,对象自然就没了,读的时候就会读取不到从而抛出EOFException。所以,如果同时开了两个流,对象输出流的实例化不能放在对象输入流的读取前,才能保证正常的读取文件内容。就像这样,就可以正常读取了
ok,继续敲代码去了
2017/8/4 20:46
Lucifer
我遇到的异常时昨天提到的EOFException,我在一个文件里明明是有对象的,但是想读取的时候,却总是读不出来,总是抛出EOFException。因为我需要先读取出文件中的对象,然后修改这个对象里的东西,再把这个对象写进文件,就开了一个对象输入流和一个对象输出流。但是,问题就来了
就像这样,总是抛出异常。
后来在上面提到的帖子里找到了原因,这是帖子里大神说的
上课老师没有讲到对象输出流有这个特性,在api文档里也没看到,就被这个问题困扰了一晚上,我也是。。。
找到了问题原因了,就是我实例化对象输出流的时候它把我的那个文件里的内容截成了4个字节,对象自然就没了,读的时候就会读取不到从而抛出EOFException。所以,如果同时开了两个流,对象输出流的实例化不能放在对象输入流的读取前,才能保证正常的读取文件内容。就像这样,就可以正常读取了
ok,继续敲代码去了
2017/8/4 20:46
Lucifer
相关文章推荐
- ObjectOutputStream读取文件多个对象时报出EOFException问题
- 关于java.io.EOFException异常的解决问题
- Android+HttpURLConnection+ObjectOutputStream+java.io.EOFException
- Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
- 我的Java开发学习之旅------>Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
- 关于JSON to JAVA object的java.io.EOFException异常
- 关于安卓开发当中通过java自带的HttpURLConnection访问XML的java.io.EOFException问题
- Java 流中关于ObjectInputStream 和ObjectOutputStream 的陷进
- NO.79 JSONObject.fromBean java.sql.Date.getHours IllegalArgumentException问题之解决
- ObjectInputStream与ObjectOutputStream 报错 EOFException
- 关于java 下载文件出现的问题:ParserInitializationException: Unknown parser type:xxx
- java.io.EOFException: No content to map to Object due to end of input
- java.rmi.NoSuchObjectException: no such object in table异常问题解析
- 关于note2等(Android4.1版本)以上无法启动支付宝的问题"java.security.spec.InvalidKeySpecException"
- 线程竞争导致的EOFException解决 --- 一次线上问题解决流程
- Java关于读取配置文件Parsing failed.的问题org.logicalcobwebs.proxool.ProxoolException: Parsing failed.
- spring3.0.5 和hibernate3.6整合问题之java.lang.ClassNotFoundException: org.objectweb.asm.Type
- Java ObjectInputStream与ObjectOutputStream阻塞(block)问题
- 【hibernate】关于org.hibernate.ObjectNotFoundException: No row with the given identifier exists 的快捷解决问题
- java中在socket上重新建立ObjectInputStream和ObjectOutputStream的问题