Java数据流操作:读取与写入通讯录
需积分: 9 41 浏览量
更新于2024-09-12
收藏 1KB TXT 举报
"此Java程序利用数据流从文件中读取通讯录信息,查找特定人员,并进行文件写入操作。"
在Java编程中,数据流(Data Stream)是处理输入输出(I/O)操作的重要工具,它允许程序员以有序的方式读取或写入数据。在这个具体的例子中,程序实现了从一个文本文件("d:\\tongxunlu.txt")读取通讯录数据,查找包含特定字符串的人员名单,并将结果输出到控制台。同时,程序还能够更新文件,将新的或修改后的通讯录信息写回至同一文件。
首先,程序通过`FileInputStream`创建一个输入流对象,用于读取文件。`FileInputStream`是Java I/O流中的一个核心类,用于处理二进制文件的输入。接着,使用`InputStreamReader`对`FileInputStream`进行包装,将二进制流转换为字符流。这是必要的,因为我们的通讯录数据是基于文本的。`InputStreamReader`接收一个`FileInputStream`作为参数,指定了文件的读取方式。
然后,`BufferedReader`被用来提高读取效率,它是一个字符缓冲流,可以一次性读取多行数据。程序通过`readLine()`方法逐行读取文件内容,直到文件末尾。读取的每一行数据都被存储在一个字符串数组`arr`中。
为了查找特定人员,程序创建了`Scanner`对象,从`System.in`获取用户输入。用户输入的字符串与数组`arr`中的每一项进行比较,如果找到匹配项,就将其打印到控制台。
查找操作完成后,程序开始执行写入操作。这里,使用`FileOutputStream`创建一个输出流,准备向指定文件写入数据。同样,`OutputStreamWriter`对`FileOutputStream`进行包装,使得我们可以写入字符而不是二进制数据。为了提高写入效率,我们使用`BufferedWriter`,它提供了一种缓冲机制,可以减少实际的磁盘I/O操作次数。
然而,代码片段在最后没有关闭`BufferedWriter`,这是不推荐的,因为未关闭的流可能会导致资源泄漏。通常,你应该始终确保在完成I/O操作后正确关闭流。在实际编程中,可以使用`try-with-resources`语句自动关闭资源,以避免资源泄露。
这个程序展示了如何使用Java的数据流API来处理文件读写操作,以及如何在文本数据中进行搜索和替换。这些基本概念对于任何Java开发者来说都是至关重要的,特别是在处理文件系统操作时。
2011-12-08 上传
2019-02-17 上传
2018-05-17 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
qq_26707755
- 粉丝: 0
- 资源: 3
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全