五、文件、结构化数据与数据库
上一章的书架能保存快照,但快照还在进程的内存中。退出后重新启动,新的存储器仍然从空记录开始。本章先把这份状态写到文件,再逐步改成可以导入、查询和导出的 SQLite 书籍库。
处理过程始终分成几步:找到数据位置,读取字节与文本,解释记录格式,执行业务操作,保存结果。哪一步出错,就在那一步保留有用的信息,再由合适的调用层决定怎样反馈。示例索引见 文件与数据库配套代码。短例分别在练习目录运行,里面的 data/ 保存示例数据;完整项目按给出的目录组合。
上一章的书架能保存快照,但快照还在进程的内存中。退出后重新启动,新的存储器仍然从空记录开始。本章先把这份状态写到文件,再逐步改成可以导入、查询和导出的 SQLite 书籍库。
处理过程始终分成几步:找到数据位置,读取字节与文本,解释记录格式,执行业务操作,保存结果。哪一步出错,就在那一步保留有用的信息,再由合适的调用层决定怎样反馈。示例索引见 文件与数据库配套代码。短例分别在练习目录运行,里面的 data/ 保存示例数据;完整项目按给出的目录组合。