Java基础----序列化问题
2015-01-01 21:44
246 查看
package com.cug.datastream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /* * 序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输。对象 -- 流数据(ObjectOutputStream) * 反序列化流:把文本文件中的流对象数据或者网络中的流对象数据还原成对象。流数据 -- 对象(ObjectInputStream) */ public class ObjectInputStreamDemo { public static void main(String[] args) throws IOException, ClassNotFoundException { // write(); read(); } private static void write() throws IOException{ ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.txt")); Person p = new Person("zhu",21); oos.writeObject(p); oos.close(); } private static void read() throws IOException, ClassNotFoundException{ ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt")); Object obj = ois.readObject(); ois.close(); System.out.println(obj); } }
package com.cug.datastream; import java.io.Serializable; /* * 类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。 * 该接口居然没有任何方法,类似于这种没有方法的接口被称为标记接口。 */ public class Person implements Serializable{ /* * Exception in thread "main" java.io.InvalidClassException: * com.cug.datastream.Person; local class incompatible: * stream classdesc serialVersionUID = 6071311591162915649, * local class serialVersionUID = 1971608717899087914 */ //加上此句话是为了防止上述错误 private static final long serialVersionUID = 6071311591162915649L; private String name; int age; // private transient int age; //transient关键字表示该成员变量不进行序列化 public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } }
相关文章推荐
- java 基础-序列化问题
- java文件传输基础:序列化中子类和父类构造函数的调用问题
- java基础问题---什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
- JAVA基础 day23 IO流的其他类 (对象的序列化 管道流 RandomAccessFile类(随机读取文件) DateStream(操作基本数据类型的流) 操作数组的流 )字符编码问题
- JAVA基础测试中异常问题汇总
- java基础问题大全
- 关于java对象序列化问题
- Java基础问题:汉字问题深入谈
- JAVA基础面试中的几个问题
- Java程序基础测试 基础笔试、面试常见问题集合
- Java基础 问题
- Java基础问题:java.lang.String - intern()
- JAVA基础笔试、面试常见问题集合
- JAVA基础:Java多语言编码问题解析
- JAVA基础:Java多语言编码问题解析
- JAVA初学基础问题
- Java几个基础问题
- Java新手上路大全 (一般的基础问题在此找)
- JAVA基础应用: 处理Java中的日期问题
- 对于JAVA基础测试中常见的异常问题汇总