对象的序列化和反序列化
对象的序列化就是将对象写入文件,对象的反序列化就是将存在文件中的对象读取出来。原理很简单,上代码:
import java.io.*;
public class Text_对象的序列化 {
public static void main(String[] args) throws Exception{
//创建序列化流
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("D:\\www\\ss.txt"));
Animal a = new Animal("小狗",23);
//将对象输出到文件中
out.writeObject(a);
out.close(); //关闭流
ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:\\www\\ss.txt"));
//读取对象,强制类型转换
Animal we = (Animal)in.readObject();
System.out.println(we);
in.close();
}
}
//创建一个动物类对象,要实现Serializable接口
class Animal implements Serializable{
//定义一个序列号,在更改序列号号后将不能读取出原有存在的对象
private static final long serialVersionUID = 1L;
String name;
int 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;
}
public Animal() {}
public Animal(String name,int age) {
this.name = name;
this.age = age;
}
public String toString() {
return "动物:"+name+"年龄"+age;
}
}
序列化也是java的IO流中比较常用的,实现的过程不算太繁琐。