import java.io.*;class rak implements Serializable{ int i;}public class Main { public static void main(String[] args) throws Exception { // write your code herer rak r = new rak(); r.i = 9; File f = new File("da.txt"); FileOutputStream f1 = new FileOutputStream(f); ObjectOutputStream oos = new ObjectOutputStream(f1); oos.writeObject("value of i is" + r.i); FileInputStream f0 = new FileInputStream(f); ObjectInputStream f9 = new ObjectInputStream(f0); rak r1 = new rak(); r1 = (rak) f9.readObject(); System.out.println(r1.i); }}
2 回答
![?](http://img1.sycdn.imooc.com/54584f850001c0bc02200220-100-100.jpg)
12345678_0001
TA贡献1802条经验 获得超5个赞
你序列化一个String:
rak r = new rak();
...
oos.writeObject("value of i is" + r.i);
然后将反序列化结果转换为rak对象:
r1 = (rak) f9.readObject();
而ClassCastException: aString不是 a rak。
如果要反rak序列化a ,请对其进行序列化,而不仅仅是其中一个字段,例如:
oos.writeObject(r);
添加回答
举报
0/150
提交
取消