序列化是将对象转换为容易传输的格式的过程。
例如,可以序列化一个对象,然后使用 HTTP
通过 Internet 在客户端和服务器之间传输该对象。
在另一端,反序列化将从该流重新构造对象。
序列化机制只保存对象的类型信息,
属性的类型信息和属性值,和方法没有什么关系。
例如,可以序列化一个对象,然后使用 HTTP
通过 Internet 在客户端和服务器之间传输该对象。
在另一端,反序列化将从该流重新构造对象。
序列化机制只保存对象的类型信息,
属性的类型信息和属性值,和方法没有什么关系。
package io;
import io.po.User;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class MySerializable {
/**
* 文件路径
*/
public static final String SAVE_PATH = "d://users.u";
/**
* 序列化对象
* @param savePath
* @throws Exception
*/
public static void writer(String savePath) throws Exception{
User user=new User("abc",20);
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(savePath));
oos.writeObject(user);
oos.flush();
oos.close();
}
/**
* 反序列化
* @param savePath
* @throws Exception
*/
public static void read(String savePath)throws Exception{
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(savePath));
User user =(User)ois.readObject();
ois.close();
System.out.println(user.getName()+user.getAge());
}
/**
* @param args
*/
public static void main(String[] args) throws Exception{
MySerializable.writer(SAVE_PATH);
MySerializable.read(SAVE_PATH);
}
}