Package com.example.renderer.singleton
Class PersistenceManager
java.lang.Object
com.example.renderer.singleton.PersistenceManager
-
Method Summary
Modifier and TypeMethodDescriptionstatic PersistenceManager
获取PersistenceManager单例实例loadShapesFromFile
(String filePath) 从JSON文件加载图形列表void
saveShapesToFile
(List<Shape> shapes, String filePath) 将图形列表序列化为JSON格式并保存到指定文件
-
Method Details
-
getInstance
获取PersistenceManager单例实例该方法线程安全,始终返回同一个实例。
- Returns:
- 全局唯一的PersistenceManager实例(永不为null)
- See Also:
-
私有构造函数
-
saveShapesToFile
将图形列表序列化为JSON格式并保存到指定文件该方法会覆盖目标文件的所有内容,使用UTF-8编码写入。
- Parameters:
shapes
- 要保存的图形列表(非null)filePath
- 目标文件路径(非null或空)- Throws:
NullPointerException
- 如果shapes或filePath为nullIllegalArgumentException
- 如果filePath为空字符串IOException
- 如果文件写入失败或路径不可访问com.google.gson.JsonIOException
- 如果JSON序列化过程中发生错误
-
loadShapesFromFile
从JSON文件加载图形列表该方法会读取指定JSON文件并反序列化为图形对象列表。 支持处理多态类型的图形对象。
- Parameters:
filePath
- 要读取的文件路径(非null或空)- Returns:
- 包含所有反序列化图形对象的不可修改列表
- Throws:
NullPointerException
- 如果filePath为nullIllegalArgumentException
- 如果filePath为空字符串FileNotFoundException
- 如果指定文件不存在IOException
- 如果文件读取失败com.google.gson.JsonParseException
- 如果JSON格式不合法com.google.gson.JsonSyntaxException
- 如果JSON与目标类型不匹配IllegalStateException
- 如果反序列化后的数组为null
-