对象序列化
对象序列化的作用:
简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。
当你想把的内存中的对象保存到一个文件中或者数据库中时候,需要用到对象的序列化。
如果一个类需要进行序列化处理的话,那么,这个类必须实现java.io.Serializable接口。
ObjectOutputStream,ObjectInputStream分别用于序列化以及反序列化。
他的构造方法
ObjectOutputStream(OutputStream out);
他的方法除了输出对象之外,还有其他的方法对各种基本数据类型进行操作。
import java.io.File;
import java.io.OutputStream;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.Serializable;
class Person implements Serializable
{
public String name;
public int val;
public Person(String name,int val)
{
this.name=name;
this.val=val;
}
}
public class Main
{
public static void main(String [] agrs)
throws Exception
{
File a=new File("D:"+File.separator+"imput.txt");
FileOutputStream b=new FileOutputStream(a);
ObjectOutputStream c=new ObjectOutputStream(b);
c.writeObject(new Person("Tom",16));
c.close();
ObjectInputStream cc=new ObjectInputStream(new FileInputStream(a));
Person k=(Person)cc.readObject();
System.out.println(k.name+" "+k.val);
cc.close();
}
}