java.io.EOFException

java.io.EOFExceptionatjava.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectI... java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
谁能解释一下这个错误!如果我根据你的解释解决了我的问题!再加20分!
展开
 我来答 举报
飞象工作室
2009-09-02 · TA获得超过1741个赞
知道答主
回答量:142
采纳率:0%
帮助的人:55.3万
展开全部
这个错误我遇到过,大概的产生异常的原因是:用输入输出流来操作一个文件,你用的是readObject()和writeObject()方法来进行对象的序列化和反序列化,当你在反序列化(读入对象)的时候,文件中没有那么多的对象来让你读取.所以就跑出这个异常,就好比,你还没write就先read
a牛仔部落a
2009-09-02 · TA获得超过337个赞
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
我解决过这个问题。
writeObject可以写n个,但是readObject()却只能读一次,你做一下测试。
如果你需要序列化好几个类的话,建议你用json;或者自己写两个方法,一个是将对象转换为字符串,一个是将字符串反转为对象。
这样可以轻松解决问题。
15 已赞过 已踩过<
你对这个回答的评价是?
评论(2) 举报 收起
大时代暑
2009-09-02 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4855万
展开全部
从异常来看,你是不是使用了一个内部类BlockDataInputStream?错误就在BlockDataInputStream.peekByte()方法.

java.io.EOFException:当输入过程中意外到达文件或流的末尾时,抛出此异常。

此异常主要被数据输入流用来表明到达流的末尾。
6 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
还原过去
推荐于2017-04-23 · TA获得超过132个赞
知道答主
回答量:91
采纳率:0%
帮助的人:76.3万
展开全部
内部类BlockDataInputStream.的方法peekByte抛出的异常,意思就是到达了文件的末尾,程序却没有正常结束读取文件内容,你可以单步调试一下看看到达文件末尾之后程序为什么没有停下来
本回答被提问者采纳
93 已赞过 已踩过<
你对这个回答的评价是?
评论(9) 举报 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式