问答详情
源自:6-2 transient及ArrayList源码分析

反序列化操作时,抛出异常

Exception in thread "main" java.io.EOFException

at java.io.DataInputStream.readInt(DataInputStream.java:392)

at java.io.ObjectInputStream$BlockDataInputStream.readInt(ObjectInputStream.java:2830)

at java.io.ObjectInputStream.readInt(ObjectInputStream.java:972)

at com.imooc.io.Student.readObject(Student.java:51)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)

at com.imooc.io.ObjectSeriaDemo1.main(ObjectSeriaDemo1.java:23)


提问者:0214YIwangZHE 2016-03-08 13:52

个回答

  • 沈剑心23333
    2016-06-18 20:07:51

    同问,不知道哪里出错

  • 网瘾少年学编程
    2016-03-08 23:00:03

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

    此异常主要被数据输入流用来表明到达流的末尾。注意,其他许多输入操作返回一个特殊值表示到达流的末尾,而不是抛出异常。 


    详情可以看下java api 里面有详细介绍。

     

    这个异常一般是读文件读到末尾了没有了才抛出来的 在while循环那里没做控制?