序列化
序列化是用来保存对象或者类的当前状态的一种操作,比如游戏中角色的血量需要在暂停游戏时保存下来。
- 序列化对象
//创建FileOutputStream和一个ser文件,用来以字节形式保存对象
FileOutputStream fileStream = new FileOutputStream("xxxx.ser");
//创建ObjectOutputSteam用来写入所需要保存的对象
ObjectOutputSteam os = new ObjectOutputSteam(fileStream);
//写入对象
os.writeObject(characterOne);
os.writeObject(characterTwo);
//关闭流
os.close();
-
序列化类
上述情况在类的序列化过程中,会将所有实例变量都进行保存。如果被序列化的类为父类,则所有子类也会被序列化,若子类无法序列化则会抛出错误。
如果有不想保存的实例变量需要用到transient关键字。 -
解序列化
//创建FileInputStream,如果文件不存在会抛出错误
FileInputStream fileStream = new FileInputStream("xxxx.ser");
//创建ObjectInputSteam链接FileInputStream
ObjectInputSteam os =