想要序列化必须实现2个条件,一个是实现java.io.serializable接口。第二该类的所有属性都必须是可序列化的,如果有一个属性是不可序列化的,则要标注该属性是短暂的。
//序列化,生成字节码文件,写入到磁盘中
public static void ser() throws Exception{
User user = new User();
user.setName("chen");
user.setAge(28);
//序列化ObjectOutputStream
FileOutputStream fileOutputStream = new FileOutputStream("D:/user.ser");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(user);
objectOutputStream.close();
fileOutputStream.close();
}
//反序列化,读取字节码解析
public static void reser() throws Exception{
FileInputStream fileInputStream = new FileInputStream("D:/user.ser");
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
User user = (User)objectInputStream.readObject();
System.out.println(user.name+","+user.age);
}