Java实现简单通讯录管理系统:文件操作与数据持久化

0 下载量 117 浏览量 更新于2024-08-03 收藏 3KB TXT 举报
本篇文章详细介绍了如何使用Java实现一个简单的通讯录管理系统,主要包括以下几个关键知识点: 1. **Contact类设计**: Contact类是通讯录系统的基础,它定义了两个属性:`name`(姓名)和 `phoneNumber`(电话号码)。类中包含一个构造函数,接受姓名和电话号码作为参数,用于创建新的Contact对象。 2. **AddressBook类实现**: AddressBook类是整个系统的中心,负责管理通讯录。它维护一个私有变量`contacts`,类型为`List<Contact>`,用于存储所有的联系人。类的实例化时需要一个文件名参数,这个文件名用于指定通讯录数据的存储位置。 - **构造函数**: 在构造函数中,除了接收文件名外,还调用了`loadContactsFromFile()`方法,尝试从指定的文件中加载联系人数据。如果读取过程中发生IOException或ClassNotFoundException异常,会记录错误并调用`saveContactsToFile()`进行数据保存。 - **loadContactsFromFile()方法**: 这个方法使用`FileInputStream`和`ObjectInputStream`进行文件读取。它尝试从文件中恢复`List<Contact>`对象,并将其赋值给`contacts`。如果读取过程不成功,会执行错误处理并保存数据到文件。 - **saveContactsToFile()方法**: 该方法用于将当前的`contacts`列表写入文件。它创建`FileOutputStream`和`ObjectOutputStream`,尝试将`contacts`序列化为对象并写入文件。如果写入过程中出现IOException,同样进行错误处理。 - **addContact()方法**: 该方法被用来向通讯录中添加新的Contact对象。在添加后,由于通讯录数据可能已经改变,所以会自动调用`saveContactsToFile()`确保数据的持久化。 3. **文件操作与异常处理**: 文档强调了在处理文件操作时,如读取和写入,要使用异常处理机制,包括捕获并处理`IOException`和`ClassNotFoundException`,以确保程序的健壮性。 通过这篇文章,读者可以了解到如何在Java中使用文件操作实现一个基本的、具有数据持久性的通讯录管理系统,包括对象序列化和反序列化技术的应用。这对于理解和实践Java文件IO以及面向对象编程概念非常有帮助。