博客
关于我
java简易通讯录,使用序列化实现,存入指定文件
阅读量:98 次
发布时间:2019-02-26

本文共 947 字,大约阅读时间需要 3 分钟。

Java程序实现通讯录功能

一、数据序列化存储

在本程序中,选择使用ArrayList来存储学生对象,这是一种常见的选择,因为它支持动态大小,元素可以随时添加、删除。通过ObjectOutputStreamObjectInputStream实现对象的序列化与反序列化功能,将程序运行中的数据存储到文本文件中。

二、文件操作机制

在主程序中,首先检查目标文件是否存在:

  • 如果文件不存在,则创建新文件。
  • 如果文件已存在,则使用ObjectInputStream反序列化读取已存储的数据,填充到ArrayList中。

随后进入主循环,用户可以通过菜单操作进行以下功能:

  • 添加新学生信息:读取输入数据,创建新学生对象并添加到ArrayList中,然后序列化写入文件。
  • 删除学生信息:通过输入姓名查找目标学生并删除。
  • 修改学生信息:通过输入姓名找到目标学生,逐一更新其相关属性。
  • 查找学生信息:用户可以选择通过姓名或地址进行查找。
  • 三、代码实现细节

    • 文件路径定义:使用静态常量Files定义文件路径,确保程序能够正确读写文件。
    • 输入流处理:使用Scanner读取用户输入,实现用户交互功能。
    • 异常处理:在文件操作和输入流处理中添加异常捕获,确保程序健壮性。

    四、优化与注意事项

    • 读写机制优化:在添加、删除、修改操作中,先通过ArrayList操作数据集合,再进行序列化写入文件,确保数据一致性。
    • 性能优化:在关闭流时使用try...finally结构,确保资源能被及时释放,避免资源泄漏。
    • 用户体验:通过菜单提示和输入提示信息,确保用户操作流程清晰,减少操作失误的几率。

    五、技术亮点

    • 对象序列化:通过Java的Serializable接口实现对象的序列化存储和读取,确保程序数据能够被准确恢复。
    • 文件操作:使用FileInputStreamFileOutputStream实现文件的读写操作,确保程序能够正确处理文件路径和权限问题。
    • 集合操作:使用ArrayList存储学生数据,支持动态增删改查,操作简便高效。

    六、扩展性分析

    该程序采用模块化设计,各功能模块独立且易于扩展。未来可以考虑增加更多的查询条件(如电话号码、邮箱地址等),或者实现数据的备份与恢复功能,进一步提升程序的实用性和可靠性。

    转载地址:http://bheu.baihongyu.com/

    你可能感兴趣的文章
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>