5-3自由编程代码的问题

5-3自由编程代码的问题

Product product=null;
			try {
				while ((product=(Product) ois.readObject())!=null) {
					System.out.println(product);
				}
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

我这样循环地读取并输出对象有问题吗?因为他报出了EOFException的异常http://img1.sycdn.imooc.com//climg/5cb3eb3700016f8010190900.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2019-04-15 13:50:44

EOFException可能是你文件读到末尾没有正确取到值报的错误,如果读取内容,可以使用FileInputStream的read()!=-1来判断是否读取到末尾,但是readObject()对象时,需要在写对象的末尾添加WriteObject(null),在读取时,使用writer.readObject()!=null来判断是否读取到了末尾,增加代码writeObject(null);就可以找到末尾了,从而结束读取。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师