#今天学习Java对象流ObjectOutputStream,ObjectInputStream,我写了一个array类其中有name,age,ID。我将序列化和反序列化写在一个ob类里面写作一个方法,然后将数据打印在控制台,为了对比我写了两个打印方法,最后在主类里调用方法传入数据,运行程序。
#两个打印方法:
System.out.println(o);//这一行在控制台正常打印了出来
System.out.println((array) OIS.readObject());//为什么这行会报异常,异常的追踪栈打印最终显示在这一行
#主程序;
package comt.流.序列化;
import static comt.流.序列化.ob.xuliehua;
public class operate {
public static void main(String[] args) {
String name="zhang";
String age="18";
String Id="2002918";
xuliehua(name,age, Id);//ob类的方法
}
}
#运行之后报了EOFException
zhang182002918
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3134)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1643)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:508)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:466)
at comt.流.序列化.ob.xuliehua(ob.java:46)
at comt.流.序列化.operate.main(operate.java:12)
#我的疑问:为什么第二个打印方法会报异常