类 PersistenceManager
java.lang.Object
com.example.renderer.singleton.PersistenceManager
图形持久化管理器,使用单例模式
负责图形的序列化和反序列化,主要功能:
- 将图形列表保存为JSON文件
- 从JSON文件加载图形列表
- 处理多态类型的序列化
使用Gson库实现JSON序列化
-
方法概要
修饰符和类型方法说明static PersistenceManager
获取线程安全的PersistenceManager单例实例loadShapesFromFile
(String filePath) 从JSON文件加载图形列表void
saveShapesToFile
(List<Shape> shapes, String filePath) 将图形列表序列化为JSON格式并保存到指定文件
-
方法详细资料
-
getInstance
获取线程安全的PersistenceManager单例实例该方法使用类初始化保证线程安全,无需同步
- 返回:
- 全局唯一的PersistenceManager实例
-
saveShapesToFile
将图形列表序列化为JSON格式并保存到指定文件该方法会覆盖目标文件的所有内容,使用UTF-8编码写入。
- 参数:
shapes
- 要保存的图形列表(非null)filePath
- 目标文件路径(非null或空)- 抛出:
NullPointerException
- 如果shapes或filePath为nullIllegalArgumentException
- 如果filePath为空字符串IOException
- 如果文件写入失败或路径不可访问com.google.gson.JsonIOException
- 如果JSON序列化过程中发生错误
-
loadShapesFromFile
从JSON文件加载图形列表该方法会读取指定JSON文件并反序列化为图形对象列表。 支持处理多态类型的图形对象。
- 参数:
filePath
- 要读取的文件路径(非null或空)- 返回:
- 包含所有反序列化图形对象的不可修改列表
- 抛出:
NullPointerException
- 如果filePath为nullIllegalArgumentException
- 如果filePath为空字符串FileNotFoundException
- 如果指定文件不存在IOException
- 如果文件读取失败com.google.gson.JsonParseException
- 如果JSON格式不合法com.google.gson.JsonSyntaxException
- 如果JSON与目标类型不匹配IllegalStateException
- 如果反序列化后的数组为null
-